zoukankan      html  css  js  c++  java
  • typeof

    C# 语言参考
    typeof(C# 参考)

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

    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
     C# 语言规范

    有关更多信息,请参见 C# 语言规范中的以下各章节:

    • 7.5.11 typeof 运算符

     请参见

    参考

    C# 关键字
    is(C# 参考)
    运算符关键字(C# 参考)

    概念

    C# 编程指南

    其他资源

    C# 参考
  • 相关阅读:
    第五篇
    第四篇
    PAT Basic 1094 谷歌的招聘 (20 分)
    PAT Basic 1093 字符串A+B (20 分)
    Dubbo 04 服务化最佳实现流程
    Dubbo 03 Restful风格的API
    Dubbo 02 微信开发
    Dubble 01 架构模型&start project
    PAT Basic 1020 月饼 (25 分)
    PAT Basic 1019 数字黑洞 (20 分)
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/1408655.html
Copyright © 2011-2022 走看看