有没有办法让分部类的构造函数调用我的或可能未定义的另一个方法?
基本上我的部分类构造函数是这样定义的:
public partial class Test
{
public Test()
{
//do stuff
}
}
我希望能够以某种方式插入在调用类构造函数后运行的额外代码。
另外,有没有一种方法可以让多个文件在调用构造函数后注入额外的代码?
C# 确实支持以下功能部分方法 http://msdn.microsoft.com/en-us/library/wa80x488.aspx。这些允许分部类定义转发声明分部类的另一部分可以选择定义的方法。
部分方法有一些限制:
- 它们必须是 void 类型(无返回)
- 他们不能接受 out 参数,但是可以接受 ref 参数
- 它们不能是虚拟的或外部的,并且不能覆盖或覆盖另一个方法(通过“new”关键字)
部分方法是隐式密封和私有的。
然而,不可能让分部类的两个不同部分实现相同的分部方法。通常,部分方法在代码生成的部分类中使用,作为允许非生成部分扩展或自定义生成部分的行为的一种方式(有时反之亦然)。如果声明了分部方法但未在任何类部分中实现,则编译器将自动消除对它的任何调用。
这是一个代码示例:
public partial class PartialTestClass
{
partial void DoSomething();
public PartialTestClass() { DoSomething(); }
}
public partial class PartialTestClass
{
partial void DoSomething() { /* code here */ }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)