私は、Tが参照型または値型に依存する一般的なメソッド動作を持っています。それはとても見えます:彼らの署名が等しいのでTが汎用クラスの値型か参照クラスかどうかを判断する方法は?
T SomeGenericMethod <T> (T obj) where T : class
{
//Do one stuff
}
T SomeGenericMethod <T> (T obj) where T : struct
{
//Do another stuff
}
:
T SomeGenericMethod <T> (T obj)
{
if (T is class) //What condition I must write in the brackets?
//to do one stuff
else //if T is a value type like struct, int, enum and etc.
//to do another stuff
}
私は次のように、このメソッドを複製することはできません。誰でも助けてくれますか?
null可能な値の型に関する追加説明をいただきありがとうございます。 – mkus
2番目のオプションは、値の型とnullの可能な比較です。これはReSharperが好きなものです。その周りには何か方法はありますか? – bubbleking
@ bubbleking:それはあなたが達成しようとしているものによって、実際には... –