Create README.md

This commit is contained in:
daver32
2021-04-10 01:28:22 +02:00
committed by GitHub
parent 8ad4811b7b
commit a3601bc623
+43
View File
@@ -0,0 +1,43 @@
# InterfaceGenerator [![NuGet Version](http://img.shields.io/nuget/v/InterfaceGenerator.svg?style=flat)](https://www.nuget.org/packages/InterfaceGenerator/)
A simple source generator that creates interfaces by implementation.
Example user implementation:
```cs
[GenerateAutoInterface]
public class SampleService : ISampleService
{
public double Multiply(double x, double y)
{
return x * y;
}
public int NiceNumber => 69;
}
```
Auto generated interface:
```cs
public partial interface ISampleService
{
double Multiply(double x, double y);
int NiceNumber { get; }
}
```
<br>
Supports:
- Methods, properties, indexers.
- Default arguments, `params` arguments.
- Generic types and methods.
- XML docs.
- Explicit interface names (using the `Name` property on `GenerateAutoInterface`.
- Explicit interface visibility (using the `VisibilityModifier` property on `GenerateAutoInterface`.
- Explicitly excluding a member from the interface (using `[AutoInterfaceIgnore]`).
Missing:
- Events.
- Nested types.
- Probably a bunch of edge cases I forgot about.