Linq to sql 能否在Linq2Sql类上实现接口?

Linq to sql 能否在Linq2Sql类上实现接口?,linq-to-sql,interface,Linq To Sql,Interface,我有一个名为IAddress的接口,还有一个名为Address的类,它处理街道、城市、州/省、邮政编码和国家。我有两个Linq2Sql类,它们拥有所有的地址信息,并且希望实现接口IAddress,并将其传递给将加载属性值的地址构造函数 是否有可能通过我为其创建的分部类实现Linq2Sql类导入和接口?提前谢谢 其他评论 在我的类中,我有一个名为MailToStreet的属性,我希望它映射到IAddress.Street。有没有办法在部分课程中做到这一点 已解决 谢谢你的社区!这是一个瞬间!这是我

我有一个名为IAddress的接口,还有一个名为Address的类,它处理街道、城市、州/省、邮政编码和国家。我有两个Linq2Sql类,它们拥有所有的地址信息,并且希望实现接口IAddress,并将其传递给将加载属性值的地址构造函数

是否有可能通过我为其创建的分部类实现Linq2Sql类导入和接口?提前谢谢

其他评论


在我的类中,我有一个名为MailToStreet的属性,我希望它映射到IAddress.Street。有没有办法在部分课程中做到这一点

已解决

谢谢你的社区!这是一个瞬间!这是我的最终代码:

public partial class Location : IAddress
{
    string IAddress.Street
    {
        get { return this.Street; }
        set { this.Street = value; }
    }

    string IAddress.City
    {
        get { return this.City; }
        set { this.City = value; }
    }

    string IAddress.StateProvince
    {
        get { return this.StateProvince; }
        set { this.StateProvince = value; }
    }

    string IAddress.PostalCode
    {
        get { return this.PostalCode; }
        set { this.PostalCode = value; }
    }

    string IAddress.Country
    {
        get { return this.Country; }
        set { this.Country = value; }
    }
}

LinqToSQL类是分部类,因此您可以有一个额外的文件来实现LinqToSQL类的接口

只需使用与LinqToSQL类相同的类名将其添加到新文件中:

public partial class LinqToSqlClass : IFoo {
    public void Foo() {
        // implementation
    }
}
如果LinqToSQL类已经实现了必要的比例,那么应该只能包含接口声明

要回答有关使用不同名称的LinqToSQL属性来实现接口的评论,可以使用上面的语法,只需从interface属性调用LinqToSQL属性,或者要保持更简洁,请使用显式实现:

public partial class LinqToSqlClass : IFoo {
    void IFoo.Foo() {
        return this.LinqFoo(); // assumes LinqFoo is in the linq to sql mapping
    }
}

通过使用此语法,访问您的类的客户端将不会看到仅用于实现接口的冗余属性(除非将对象强制转换到该接口,否则该属性将不可见)

在我的类中,我有一个名为MailToStreet的属性,我希望该属性映射到IAddress.Street。在分部类中有没有办法做到这一点?只需在分部类中的全新街道属性中包装MailToStreet属性。。。它会成功的;o) 假设所有接口成员名称都与实体类中的属性名称相同,这就足够了:public partial class Location:IAddress{}