![]() |
1
1
另一种选择(可能更稳健)是利用 IsDerivedFrom 的财产 CodeClass 界面例如,您的模板可能看起来像:
|
|
2
0
我花了一点时间,但是的,有一种方法可以通过EnvDTE来确定给定的类是否以某种方式继承了给定的接口。 此代码片段仅检测直接从实现INotifyPropertyChanged的另一个类继承的类。所以在使用它之前,我们会在这里添加一些递归逻辑。。。
因此,给定一个实现INotifyPropertyChanged的类a、一个从a派生的类B和另一个从B派生的类C,这段代码将产生实现INotifyPropertyChanged的类a和B。 注意:因为使用EnvDTE类不是很好,所以我使用了有形T4编辑器的免费模板库中的一个可重复使用的模板,名为“有形Visual Studio Automation Helper”,这使它更容易使用! |
![]() |
3
0
也许有更好的方法,但我决定创建一个新的属性
这样,我就可以在不从根本上改变T4模板的情况下测试这个属性是否存在。不过,如果有更好的方法,我会很乐意把它作为答案。 |
![]() |
4
0
作为所有解决方案的补充(我回答了,因为我还不能添加评论:()。我用过
此代码用于查找Implemented类。 |
![]() |
Matthias · 如何以编程方式安装VisualStudio扩展? 9 年前 |
![]() |
Puppy · Visual Studio扩展中的静态数据 11 年前 |
![]() |
Julius · 从t4模板编译typescript文件 11 年前 |