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

    typeof(C# 参考)

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

    System.Type type = typeof(int);

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

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

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    示例
    // 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
     
  • 相关阅读:
    Spring--AOP--面向切面编程
    Spring ---annotation (重点)--Resource, Component 重要!!!
    Spring ---annotation (重点)--AutoWired 不常用
    ts 交集类型
    ts 使用 keyof typeof
    Dart 编写Api弃用警告
    js 反应&行动
    perl 打印简单的help文档
    perl 在windows上获取当前桌面壁纸
    perl 打印目录结构
  • 原文地址:https://www.cnblogs.com/zxtceq/p/8243146.html
Copyright © 2011-2022 走看看