typeof()运算符
C#中,typeof()运算符可以用于获取类型的System.Type对象,也就是说,通常情况下,传入typeof()运算符的应该是C#中的类型名,比如内置的int、float、double等,也可以是自定义的类型,比如类、结构体、接口等等,也可以是泛型类型、命名空间限定的类型等等,而不是某一个变量或字面量。
System.Type类的实例包含了类型的一些静态信息,比如名称Name、命名空间namespace(如果有命名空间的话)、基类型BaseType、接口GetInterfaces,以及方法、属性、事件、泛型参数等等,这些可以通过"."访问,具体可参考下方的实例代码。
typeof()基本用法语法
Type varName = typeof( className )
其中Type指的是System.Type类型,是typeof()运算符的返回值类型。
typeof()运算符访问类型信息
下方只是简单地举个例子,用于访问Type类型的Name,若是要访问不同的类型信息,可以适当地进行修改:
string strName = typeObj.Name
提示:typeof()还有一些其它的用法,比如指定泛型中的一些参数的约束条件等等,在以后的章节中遇到了再详细介绍。
typeof()运算符实例代码
using System;
namespace HWApp{
class Test{
static void Main(string[] args){
Type intType = typeof(int);
string intName = intType.Name;
Type TestType = typeof(Test);
//Test是当前实例代码中定义的一个Test类,实际上这些代码也正是在Test类内
string TestTypeNameSpace = TestType.Namespace!;
//Namespace最后面的"!"是非空断言操作符,以后会专门介绍
Console.WriteLine(intType);
Console.WriteLine(TestTypeNameSpace);
}
}
}
代码运行后,得到输出值为:
System.Int32
HWApp
免责声明:内容仅供参考,不保证正确性。

