たとえば、 type param メソッドが与えられた場合、太字の部分のようなものを探しています
void MyMethod< T >() {
if ( typeof(T).Implements( IMyInterface ) ) {//Do somethingそうしないと
//Do something else}
C# 3.0 を使用した回答も歓迎しますが、最初に .NET 2.0 を削除してください ;)
たとえば、 type param メソッドが与えられた場合、太字の部分のようなものを探しています
void MyMethod< T >() {
if ( typeof(T).Implements( IMyInterface ) ) {//Do somethingそうしないと
//Do something else}
C# 3.0 を使用した回答も歓迎しますが、最初に .NET 2.0 を削除してください ;)
if(typeof(IMyInterface).IsAssignableFrom(typeof(T)))
{
// something
}
else
{
// something else
}
おもう
if (typeof (IMyInterFace).IsAssignableFrom(typeof(T))
も機能するはずですが、利点がわかりません...
使ってみたところ
if( typeof(T).Equals(typeof(IMyInterface) )
...
また、機能しますが、あなたの答えはより堅牢に見え、私が探していたものでした. ありがとう!