a3601bc6239a8c618ad82e6604798daf18a521b8
InterfaceGenerator 
A simple source generator that creates interfaces by implementation.
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.
Description
Languages
C#
100%