我想将具有方法setName的对象传递给泛型类型的对象。一个例子:
//Instead of obj.setName = "John"; do this:
aMethod(obj);
aMethod(different_obj); //different_obj has also a method setName
public aMethod(object anOtherObj) {
anOtherObj.setName = "John";
Console.Writeline(anOtherObj.setName);
}
答案 0 :(得分:1)
只需使用动态参数声明您的方法:
public void Method(dynamic anotherObj)
{
anotherObj.Name = "John";
Console.Writeline(anotherObj.Name);
}
同样根据您的语法,我认为setName
实际上不是一个方法,它可以是属性或字段,因此更好的名称是Name
。
无论如何,走这条路根本不是一个好习惯。如果这些不同的类具有相同的字段,只需为它们提取基类或接口,并将其用作方法中的参数类型。