少しプログラムを試してみました...プログラムを実行して、C#クラスのすべてのメソッド名を確認したい...コードは次のとおりです
class Program
{
public int adf()
{
return 0;
}
static void Main(string[] args)
{
foreach (MethodInfo mInfo in typeof(Program).GetMethods(BindingFlags.NonPublic | BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static))
{
Console.WriteLine(mInfo.Name);
}
Console.ReadKey();
}
private void bdf()
{
Console.WriteLine("Dg");
}
}
それはうまくいきます、結果として私はこれを手に入れました
adf
main
bdf
今、私はGetMethods関数に1つのパラメータだけを渡して結果を取得したい...「binary or(|)」で5つのパラメータを渡すのは良い方法だとは思わない... BindingFlags Enumは19フィールドで、何が18個のパラメーターを渡したい場合になりますxD 1つの値のみを渡すにはどうすればよいですか?
ここに列挙型があります
public enum BindingFlags
{
Default = 0,
IgnoreCase = 1,
DeclaredOnly = 2,
Instance = 4,
Static = 8,
Public = 16,
NonPublic = 32,
FlattenHierarchy = 64,
InvokeMethod = 256,
CreateInstance = 512,
GetField = 1024,
SetField = 2048,
GetProperty = 4096,
SetProperty = 8192,
PutDispProperty = 16384,
PutRefDispProperty = 32768,
ExactBinding = 65536,
SuppressChangeType = 131072,
OptionalParamBinding = 262144,
IgnoreReturn = 16777216,
}
}
とても興味深く、役に立つ質問だと思います...