我有一个运算,它需要在三种类型的EntitySets上运行;但是,每种类型的数据都是相同的。Linq- to -SQL正在创建这三种类型,以便与我的数据库中的几个介于“补间”的表相匹配。
有没有一种方法可以像下面这样处理泛型EntitySet类型?
private EntitySet<T> GetClientHorizontal(EntitySet<T> clientHorizontal) {}它是为了解决下面的冗余问题。
private EntitySet<LeafHorizontal>
GetClientLeafHorizontal(EntitySet<LeafHorizontal> clientLeafHorizontal) { }
private EntitySet<BayHorizontal>
GetClientBayHorizontal(EntitySet<BayHorizontal> clientBayHorizontal) { }
private EntitySet<SideliteHorizontal>
GetClientSideliteHorizontal(
EntitySet<SideliteHorizontal> clientSideliteHorizontal) { }发布于 2012-06-27 05:21:18
如果您说这三个类几乎相同-那么您可以创建一个具有公共成员的接口或基类:
interface IHorizontal
{
int SuperValue { get; set; }
}然后,您需要从此接口继承LeafHorizontal、BayHorizontal和SideliteHorizontal类:
public partial class LeafHorizontal : IHorizontal { ... }
public partial class BayHorizontal : IHorizontal { ... }
public partial class SideliteHorizontal : IHorizontal { ... }之后,您可以创建泛型方法:
private EntitySet<T> GetClientBayHorizontal(EntitySet<T> clientBayHorizontal) where T : IHorizontal
{
clientBayHorizontal.SuperValue++;
}https://stackoverflow.com/questions/11215812
复制相似问题