public class Sample1
{
public void setdata(Object obj)
{
//...Do the logic based on object type
}
}
我希望这种方法(setdata)可以重复使用.i.e。我想传递不同类型/类的对象
public class Sample2 : Sample1
{
public void dosomething()
{
Sample1 a = new Sample1();
Sample2 b= new Sample2();
a.setdata(b);
}
}
。这对Object类来说很简单,或者必须使用泛型//来完成它。如果有,怎么样?请帮忙。谢谢!
答案 0 :(得分:0)
是的,你可以这样做:
public static class ObjectExtensions
{
public static void SetData(this object that, object other)
{
// now here it gets tricky and probably really bad OOD
}
}
这将导致从对象派生的每个对象和类(涵盖所有引用类型)来公开名为SetData的公共方法。
string s = new string();
Window w = new Window();
s.SetData(w);
然而,无论你在这种方法中做什么,都可能是极其糟糕的软件设计,应该根据你真正想做的事情来解决。