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
     
  • 相关阅读:
    6-Python爬虫-分布式爬虫/Redis
    ES 查询时 排序报错(fielddata is disabled on text fileds by default ... )解决方法
    Intellij Idea webstorm 激活
    Intellij Idea 配置jdk
    java 获取(格式化)日期格式
    js 跳转 XSS漏洞 预防
    CSS去掉背景颜色
    js对象无法当成参数传递 解决方法
    Elasticsearch java api
    java多条件查询SQL语句拼接的小技巧
  • 原文地址:https://www.cnblogs.com/android-blogs/p/6038282.html
Copyright © 2011-2022 走看看