2015-04-03 160 views
-1

我想将具有方法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

这与泛型有关吗? – Dennis 2015-04-03 13:27:09

+0

你是对的这不是它建议,但该网站。我删除它。 – Ctrlfreak 2015-04-03 13:28:05

+1

详述一下。你可以用'dynamic',带有界面或泛型来做到这一点。但是,代码是简短的,不能做出决定。 – 2015-04-03 13:29:53

回答

1

刚刚宣布与动态参数的方法:

public void Method(dynamic anotherObj) 
{ 
    anotherObj.Name = "John"; 
    Console.Writeline(anotherObj.Name); 
} 
从你的语法

另外,我认为setName实际上不是一个方法,它要么是属性或字段,所以更好的名字因为它会是Name

反正这样做根本不是一个好习惯。如果这些不同的类具有相同的字段,只需为它们提取基类或接口,并将其用作方法中的参数类型。

+0

我正在尽可能地简单。 – Ctrlfreak 2015-04-03 13:33:38

相关问题