それは本当に簡単です。object
次のように使用します。
object obj = new BinaryFormatter().Deserialize(fileStrieam);
そして、あなたがすると言ったことをします:
if (!(obj is MyOwnGenericClass<string>))
throw new Exception("It was something other than MyOwnGenericClass<string>");
else {
MyOwnGenericClass<string> asMyOwn_OfString = obj as MyOwnGenericClass<string>;
// do specific stuff with it
asMyOwn.SpecificStuff();
}
T
したがって、が であるかどうかを確認していませんstring
。それ以上のことをチェックしています: obj が であるかどうかをチェックしていますMyOwnGenericClass< string >
。誰もそれが常にあるとは言いませんでしたがMyOwnGenericClass< something >
、私たちの唯一の頭痛の種は、それが何であるかを見つけることです.
bool、文字列、int、int のプリミティブ配列、さらにはStringBuilder
. そして、あなたの側近があります: あなたは , を送ることができますMyOwnGenericClass< int >
(MyOwnGenericClass< string >
そして、これはあなたが受け入れる唯一のものです)。