1.1 KiB
1.1 KiB
InterfaceGenerator 
A simple source generator that creates interfaces by implementations.
Example user implementation:
[GenerateAutoInterface]
public class SampleService : ISampleService
{
public double Multiply(double x, double y)
{
return x * y;
}
public int NiceNumber => 69;
}
Auto generated interface:
public partial interface ISampleService
{
double Multiply(double x, double y);
int NiceNumber { get; }
}
Supports:
- Methods, properties, indexers.
- Default arguments,
paramsarguments. - Generic types and methods.
- XML docs.
- Explicit interface names (using the
Nameproperty onGenerateAutoInterface). - Explicit interface visibility (using the
VisibilityModifierproperty onGenerateAutoInterface). - Explicitly excluding a member from the interface (using
[AutoInterfaceIgnore]).
Missing:
- Events.
- Nested types.
- Probably a bunch of edge cases I forgot about.