对于这个例子,我有 3 个简单的类:
public class User
{
public string FirstName { get; set; }
}
public class E : User
{
public string MiddleInitial { get; set; }
}
public class F : User
{
public string LastName { get; set; }
}
我有一些简单的 Print 方法,我将它们重载以采用特定类型。不要介意响应写入,它仅用于显示目标,即在该类型上使用不在基础中的属性。
public void Print(E e)
{
Response.Write(e.FirstName);
}
public void Print(F f)
{
Response.Write(f.LastName);
}
我很好奇如何让这些指令工作而不必强制转换类型?我总共有 4 个单独User
的 s。每个都经历相同的过程。我很想拥有一次代码,而不是 4 次。下面的代码不会编译,因为LastName
它不在User
对象上。
User u = UserFactory.Get("f");
Print(u);