【发布时间】:2013-04-24 02:17:12
【问题描述】:
下面的代码可以在 c# 中工作吗?
public class Foo
{
public string Name { get; set; }
}
public class Related_Foo
{
public string Name { get; set; }
}
class Program
{
static void do_something<T>(T t)
{
string n = t.Name;
}
static void Main(string[] args)
{
Foo f = new Foo();
do_something(f);
}
}
在 .Net 4 中,编译器抱怨:
“T”不包含“名称”的定义,并且找不到接受“T”类型的第一个参数的扩展方法“名称”(您是否缺少 using 指令或程序集引用?)
【问题讨论】:
-
好吧,既然您尝试了它并清楚地得到了编译器错误,答案是“否”。因此,您已经回答了自己的问题,以下代码将不起作用。也许你应该解释你想做什么并询问如何实现这个目标,而不是问一个你已经回答过的问题。