2011-04-21 5 views
2

System.Type.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.DeclaredOnly)を使用してクラスのメソッドを取得できます。Type.GetMethodsの「プロパティメソッド」を除外する方法は?

ただし、返されるリストには「プロパティメソッド」が含まれます。 get_PropertyXおよびset_PropertyX

返されるリストに「プロパティメソッド」が含まれないようにするにはどうすればよいですか?

+0

なぜ下降者が説明するか? – Pacerier

答えて

8
var methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) 
.Where(m => !m.IsSpecialName); 
+1

'MethodInfo [] methods'はどんなタイプの変数が返されるかを明確に述べています。 –

+1

@Srinivas:まず第一に、配列を返していないので、間違っています。第二に、純粋に主観的なので、私はvar-vs-Typeの議論に入るつもりはありません。この行を見ているほとんどのC#プログラマーは、 'メソッド'が反復処理できるものであることを知っています。これは通常、私たちが気にするものです。 – StriplingWarrior

+0

はどこの条件が表示されませんでしたか... –

関連する問題