2018/05/26 283
在使用C#中,你可能会经常用到它们,但是你知道它们之间的区别吗?
通过类型名称获取类型信息。所以当我们想得到类型信息,但是只有类型名称时使用typeof(T)
UWP使用
Frame.Navigate()
进行页面跳转
定义如下
public bool Navigate(Type sourcePageType);
UWP会自动实例化页面,所以不需要我们创建页面对象,这种场景下,我们只知道类型,而没有实例,于是使用typeof()
此方法来自object
,通过调用此方法,我们会得到对象的类型信息,但是得到的是具体派生类的类型信息。
如果实例处于继承树中,则返回true
class Animal { }
class Dog : Animal { }
void PrintTypes(Animal a) {
print(a.GetType() == typeof(Animal)) // false
print(a is Animal) // true
print(a.GetType() == typeof(Dog)) // true
}
Dog spot = new Dog();
PrintTypes(spot);