次のような主張をしたいと思います。
aMethod.ReturnType == double
aString.GetType() == string
上記の例は、 and が type のオブジェクトではないため、明らかにコンパイルされませんdouble
。string
これらType
は正当な C# 式でさえありません。
Type
特定の C# 型を表現するにはどうすればよいですか?
次のような主張をしたいと思います。
aMethod.ReturnType == double
aString.GetType() == string
上記の例は、 and が type のオブジェクトではないため、明らかにコンパイルされませんdouble
。string
これらType
は正当な C# 式でさえありません。
Type
特定の C# 型を表現するにはどうすればよいですか?
型を取得して比較するには、typeof を使用します。
aMethod.ReturnType == typeof(double)
aString.GetType() == typeof(string)
使用は演算子です
オブジェクトが特定の型と互換性があるかどうかを確認します。
bool result1 = aMethod.ReturnType は double です。
bool result2 = aString is string;
次の例を検討してください。
bool result1 = "test" is string;//returns true;
bool result2 = 2 is double; //returns false
bool result3 = 2d is double; // returns true;
編集:値ではなくタイプであることを見逃したaMethod.ReturnType
ので、次を使用して確認することをお勧めしますtypeof
bool result1 = typeof(aMethod.ReturnType) == double;
次の例を考えてみましょう。
object d = 10d;
bool result4 = d.GetType() == typeof(double);// returns true
他の人が言ったようtypeof(YourType)
に、またはis
演算子を使用してください(注意しis
てください、厳密な演算子ではありません(継承について考えてください):たとえば、MyClass is object
is true です!)。
が必要な理由はわかりませんが、ジェネリック パラメータaMethod.ReturnType
が必要なようです。試してみる !