接受具有公共属性的多个对象的C#方法?

bmt*_*033 3 .net c# methods structural-typing

我有几个具有一些属性的对象,这些属性对所有属性都是通用的.例如:

对象A是X类型,它有10个属性

对象B的类型为Y,它有15个属性

对象C的类型为Z,它有7个属性

所有这些对象都具有共同的"名称","签名"和"校验和"属性.我正在尝试创建一个静态帮助器方法,该方法可以接受包含"name","signature"和"checksum"属性的任何类型的对象.这是可能的还是我实际上需要三种不同的方法(一种接受每种类型的对象)?

编辑 - 为了它的价值,我没有提到这些对象是通过Web服务向我公开的.

SLa*_*aks 8

您应该将这些属性移动到公共基类或接口并使用它.

  • 没有什么可以阻止你编辑VS生成的代码,虽然我建议使用部分类来避免在你希望VS重新生成类的情况下你的代码丢失.在这种情况下,使用通用接口而不是通用基类可能会更好. (2认同)