回答:
is 演算子として使用できます。次に、次のように記述することで、オブジェクトが特定のタイプかどうかを確認できます。
if (myObject is string)
{
DoSomething()
}
次を使用して、まったく同じタイプを比較できます。
class A {
}
var a = new A();
var typeOfa = a.GetType();
if (typeOfa == typeof(A)) {
}
typeofは、指定されたクラスからTypeオブジェクトを返します。
しかし、Aから継承するタイプBがある場合、この比較は偽になります。そして、あなたはIsAssignableFromを探しています。
class B : A {
}
var b = new B();
var typeOfb = b.GetType();
if (typeOfb == typeof(A)) { // false
}
if (typeof(A).IsAssignableFrom(typeOfb)) { // true
}
http://msdn.microsoft.com/en-us/library/system.type.gettype.aspx
Console.WriteLine("typeField is a {0}", typeField.GetType());
それはあなたに次のようなものを与えるでしょう
typeField is a String
typeField is a DateTime
または
http://msdn.microsoft.com/en-us/library/58918ffs(v=vs.71).aspx