zoukankan      html  css  js  c++  java
  • C# typeof()实例详解

    typeof(C# 参考)

    用于获取类型的 System.Type 对象。typeof 表达式采用以下形式:

    System.Type type = typeof(int);

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

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

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

     1 示例 
     2 // cs_operator_typeof.cs
     3 using System;
     4 using System.Reflection;
     5 public class SampleClass
     6 {
     7   public int sampleMember;
     8   public void SampleMethod() {}
     9   static void Main()
    10   {
    11     Type t = typeof(SampleClass);
    12     // Alternatively, you could use
    13     // SampleClass obj = new SampleClass();
    14     // Type t = obj.GetType();
    15     Console.WriteLine("Methods:");
    16     MethodInfo[] methodInfo = t.GetMethods();
    17     foreach (MethodInfo mInfo in methodInfo)
    18     Console.WriteLine(mInfo.ToString());
    19     Console.WriteLine("Members:");
    20     MemberInfo[] memberInfo = t.GetMembers();
    21     foreach (MemberInfo mInfo in memberInfo)
    22     Console.WriteLine(mInfo.ToString());
    23   }
    24 }
    25 输出
    26 Methods:
    27 Void SampleMethod()
    28 System.Type GetType()
    29 System.String ToString()
    30 Boolean Equals(System.Object)
    31 Int32 GetHashCode()
    32 Members:
    33 Void SampleMethod()
    34 System.Type GetType()
    35 System.String ToString()
    36 Boolean Equals(System.Object)
    37 Int32 GetHashCode()
    38 Void .ctor()
    39 Int32 sampleMember
    40 此示例使用 GetType 方法确定用来包含数值计算的结果的类型。这取决于结果数字的存储要求。
    41  
    42 // cs_operator_typeof2.cs
    43 using System;
    44 class GetTypeTest
    45 {
    46   static void Main()
    47   {
    48     int radius = 3;
    49     Console.WriteLine("Area = {0}", radius * radius * Math.PI);
    50     Console.WriteLine("The type is {0}",
    51     (radius * radius * Math.PI).GetType()
    52     );
    53   }
    54 }
    55 输出
    56 Area = 28.2743338823081
    57 The type is System.Double
  • 相关阅读:
    百度编辑器 Ueditor使用记录
    JS实现继承的几种方式
    IOS 浏览器上设置overflow: auto 不可滚动
    throw new Error('Cyclic dependency' + nodeRep)
    如何理解springaop
    SQL连接的分类
    Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题
    SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接
    Centos7下面安装eclipse
    Centos7 下编译 Openjdk8
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/12902845.html
Copyright © 2011-2022 走看看