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