オブジェクトがnull、値型、またはであるかどうかを確認する必要があります。T
は値型です。これまでのところ私が持っている:オブジェクトの型がIEnumerable <T>のサブクラスであるかどうかを、どのような値型Tで調べるにはどうすればよいですか?
if ((obj == null) ||
(obj .GetType().IsValueType))
{
valid = true;
}
else if (obj.GetType().IsSubclassOf(typeof(IEnumerable<>)))
{
// TODO: check whether the generic parameter is a value type.
}
のでオブジェクトは、値型、またはいくつかのT
ためIEnumerable<T>
NULLであることを、私を見つけました。そのT
が値型であるかどうかを確認するにはどうすればよいですか?
は、あなたが親を上がっていくことを心配する必要はありません意味するのに十分な再帰GetInterfacesメソッドですタイプ? –
@ジョン:そうだと思います。 –
再帰は必要ありません。クラスはインタフェースを実装するか、インタフェースを実装しません。インターフェイス自体が互いにどのように継承しているかにかかわらず、フラットなリストです。 – Tar