haven1433 / autoimplement Goto Github PK
View Code? Open in Web Editor NEWProvide automatic implementations for .net interfaces following boilerplate design patterns
License: MIT License
Provide automatic implementations for .net interfaces following boilerplate design patterns
License: MIT License
So, . . . now your using inline pattern matching which is a c#7 feature.
This is a placeholder for things I'd like to improve in AutoImplement, but they'd be breaking changes. This means that the changes would have to wait for a major version bump.
System.Delegation
was chosen as a way to show that these are general types that have to do with using delegates for properties and events. However, the number of types that AutoImplement depends on has grown to include a custom equality comparer (for stub generic method implementations) and a constructor-delaying disposable (for class-stub delayed construction). Since none of these types need to be code-generated (they're the same in every case), it makes sense to store them in a helper assembly. But the current chosen name is misleading. A better name might be HavenSoft.AutoImplement.StubUtilities
.The generator doesn't clearly differentiate between the formatting and functional bits of the generated code, which makes it hard to extend the generator to produce code in a different style and hurts the readability of the generator.
A few examples:
StringWriter.Indent()
describes a side effect of the IDisposable
it creates, rather than the functionality. The brackets generated by IndentationScope
are the semantically important part, not the whitespace. This appears to be addressed by #3.autoimplement/AutoImplement/StubBuilder.cs
Lines 224 to 230 in fc4e0db
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.