typeof用法

 

用于获取类型的 System.Type 对象

System.Type type  =   typeof ( int );

若要获取表达式的运行时类型,可以使用 .NET Framework 方法 GetType,如下所示:

 

int  i  =   0 ;
System.Type type 
=  i.GetType();

typeof 运算符也能用于公开的泛型类型。具有不止一个类型参数的类型的规范中必须有适当数量的逗号。不能重载 typeof 运算符。

 

//  cs_operator_typeof.cs
using  System;
using  System.Reflection;

public   class  SampleClass
{
   
public   int  sampleMember;
   
public   void  SampleMethod() {}

   
static   void  Main()
   {
      Type t 
=   typeof (SampleClass);
      
//  Alternatively, you could use
      
//  SampleClass obj = new SampleClass();
      
//  Type t = obj.GetType();

      Console.WriteLine(
" Methods: " );
      MethodInfo[] methodInfo 
=  t.GetMethods();

      
foreach  (MethodInfo mInfo  in  methodInfo)
         Console.WriteLine(mInfo.ToString());

      Console.WriteLine(
" Members: " );
      MemberInfo[] memberInfo 
=  t.GetMembers();

      
foreach  (MemberInfo mInfo  in  memberInfo)
         Console.WriteLine(mInfo.ToString());
   }
}

输出:

Methods:
Void SampleMethod()
System.Type GetType()
System.String ToString()
Boolean Equals(System.Object)
Int32 GetHashCode()
Members:
Void SampleMethod()
System.Type GetType()
System.String ToString()
Boolean Equals(System.Object)
Int32 GetHashCode()
Void .ctor()
Int32 sampleMember

此示例使用 GetType 方法确定用来包含数值计算的结果的类型。这取决于结果数字的存储要求。

//  cs_operator_typeof2.cs
using  System;
class  GetTypeTest 
{
   
static   void  Main() 
   {
      
int  radius  =   3 ;
      Console.WriteLine(
" Area = {0} " , radius  *  radius  *  Math.PI);
      Console.WriteLine(
" The type is {0} "
                        (radius 
*  radius  *  Math.PI).GetType()
      );
   }
}

输出:

Area  =   28.2743338823081
The type 
is  System.Double
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值