【问题标题】:C# Generics - How to use typeC# 泛型 - 如何使用类型
【发布时间】:2011-07-25 03:45:11
【问题描述】:

我对 C# 泛型还很陌生,想知道一些事情是如何工作的。

如果我有这个:

public class Foo<T>

在我的课堂上,我有一个 GetType 方法,它只会返回 T 的类型。我该怎么做才能使我的方法能够与 T 一起使用。

public string GetType();
{
    return T.GetType().ToString();
}

我正在尝试学习一个简单的例子来帮助我理解。

谢谢。

【问题讨论】:

  • 您是否要覆盖public Type GetType()(类型而不是字符串)?

标签: c# generics


【解决方案1】:
public string GetTypeName()
{
    return typeof(T).ToString();
}

T 不是某物的实例,它是实际的类型参数。同样你不能说String.GetType(),但你可以说typeof(String)。通常,您在实例上调用GetType(),在类型上调用typeof(something)

此外,我已将您的 GetType 方法重命名为 GetTypeName,因为方法 GetType 是在 object 类型上声明的,因此如果您尝试使用它,编译器会报错。

还有一件事:分号在方法体之前是非法的,所以我删除了它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    相关资源
    最近更新 更多