【发布时间】:2010-08-19 07:24:48
【问题描述】:
C# 4.0 如果我有 N 个具有完全相同属性的类(实体),它们没有任何公共接口或任何公共继承 我希望有一种方法能够传递它们的任何实例,而无需将任何属性从一个对象复制到另一个对象。 我认为在 .NET 4.0 中应该有几种方法可以做到这一点。
例如以某种方式使用 var 或 dynamik 关键字或使用泛型类型。 可能是这样的:
public void MyMethod<MyType>(AnyType myInstance)
{
Type myType = typeof(T);
myInstance = myInstance as myType;
AppendToFile(myInstance.Field1);
AppendToFile(myInstance.Field2);
}
现在我正在调查,可能有人对此有任何想法。
【问题讨论】:
-
尽管有可能,正如其他人指出的那样,我认为让他们共享一个界面仍然更加整洁。如果代码不是你的,但类是部分的(就像 DBML 类的情况一样),你可以创建部分类来指定接口实现。
public partial class ClassA : IInterface { } public partial class ClassB : IInterface {}