这就是我想做的。
我想像这样编写 POCO 类:
[AutoExtended]
public partial class Foo {
public int Bar;
public string Baz;
}
最好在我的解决方案中的任意文件中(该[AutoExtend]
属性是我刚刚为识别兴趣类别而编造的)。
我希望构建过程从 (a)AutoExtend
在我的源代码中查找这些类并 (b) 自动生成如下扩展:
public partial class Foo {
public static SomeType<int> Bar(Foo x) { ... };
public static SomeOtherType<string> Baz(Foo x) { ... };
}
在编译解决方案之前。
有谁知道如何最好地做到这一点?我想罗斯林是要走的路,但我愿意接受建议。理想情况下,我想要一个解决方案,除了AutoExtend
属性之外,用户需要零额外的“管道”。
(如果有人感兴趣,我正在用 C# 类和重载运算符编写一个领域特定的语言,上面的内容将使 DSL 使用起来更加舒适。)