0

我正在为电话簿中的联系人开发活动计划应用程序。避免所有的public virtual东西protected,我的Contact课看起来像:

class Contact {
    //...
    Int32 Id { get; private set; } //primary key;
    String Name { get; private set; } 
    //...
}

一位客户要求我处理他自己的电话簿和我的应用程序的电话簿。所以我想从中提取一个IContact接口Contact,并添加另一个类InternalContact(我知道这个名字很烂),实现相同的接口。问题是客户的db使用分配的字符串作为主键,所以Contact'的Id类型和InternalContact'的Id类型会不同。是否可以Invitation.Contact使用<any>类型映射来映射属性,即使 Id 类型不同?

在此先感谢,朱利奥

4

1 回答 1

0

不确定这是否是您要问的,但您可以执行以下操作来创建类:

interface IContact<T>
{
    T Id { get; }
}

public class Contact : IContact<int>
{
    public int Id { get; private set; }
}

public class InternalContact : IContact<string>
{
    public string Id { get; private set; }
}
于 2010-07-23T07:15:56.360 回答