在C#中进行反射时,是否有可能检查一个构造函数是否调用另一个构造函数?
class Test
{
public Test() : this( false ) { }
public Test( bool inner ) { }
}
我想要确定每个ConstructorInfo
是否在调用链的末端。
System.Net.HttpListenerBasicIdentity
并按F12以转到元数据定义。您会看到一个公共实例构造函数。这是在System.dll
程序集中的。单击基类并再次按F12将带您进入GenericIdentity
类。这是在一个不同的程序集mscorlib.dll
中。而且,GenericIdentity
没有公共或受保护的无参数构造函数(续)。 - Jeppe Stig NielsenHttpListenerBasicIdentity
的可见构造函数要么链接base(string)
或base(string, string)
构造函数,要么链接this(...)
到某个不可见的 (private
或internal
) 实例构造函数。检查 IL 代码,我们发现它实际上链接了base(string, string)
。 - Jeppe Stig Nielsen