受保护的构造函数 - 未使用 GetConstructors() 显示
我有一个带有工厂方法的类和一个定义为接受一些参数的受保护构造函数。
public class MyClass
{
protected void MyClass(int agr1, int arg2)
{
//set private backing fields for public readonly properties
}
public static MyClass From(int arg1, int arg2)
{
return new MyClass(arg1, arg2);
}
}
然而,当我使用 typeof(MyClass).GetConstructors(BindingFlags.NonPublic) 时,返回的数组中包含零个项目。有人看到我做错了什么吗?
谢谢
I have a class with a factory method and a protected constructor defined to take a few arguments.
public class MyClass
{
protected void MyClass(int agr1, int arg2)
{
//set private backing fields for public readonly properties
}
public static MyClass From(int arg1, int arg2)
{
return new MyClass(arg1, arg2);
}
}
Yet when I use typeof(MyClass).GetConstructors(BindingFlags.NonPublic)
the array returned has zero items in it. Anyone see what I'm doing wrong?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于您自己传递
BindingFlags
,因此一定不要忘记在必要时包含BindingFlags.Instance
(在本例中确实如此)。包含它将会起作用:
查看它的实际效果。
Since you are passing the
BindingFlags
yourself, you must not forget to includeBindingFlags.Instance
if necessary (which in this case, it is).Including it will work:
See it in action.