簡體   English   中英

受保護的構造函數-不與GetConstructors()一起顯示

[英]Protected constructor - not showing with 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) ,返回的數組中包含零項。 有人看到我在做什么錯嗎?

謝謝

由於您自己傳遞了BindingFlags ,因此如果有必要(在這種情況下,就是這樣),您一定不要忘記包含BindingFlags.Instance

包括它將起作用:

var flags = BindingFlags.NonPublic | BindingFlags.Instance
var ctors = typeof(MyClass).GetConstructors(flags);

看到它在行動

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM