我有一个名为IAddress的接口,以及一个名为Address的类,用于处理街道,城市,州/省,邮政编码和国家.我有几个Linq2sql类,它们具有所有地址信息,并且希望实现接口IAddress,并将其传递给Address的构造函数,以便加载属性值.
是否有可能通过我为其创建的部分类具有Linq2sql类impment和接口?提前致谢!
补充评论
在我的课程中,我有一个名为MailToStreet的属性,我希望它映射到IAddress.Street.在分部课中有没有办法做到这一点?
解决了
感谢StackOverflow社区!很快!这是我的最终代码:
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 } }
通过使用此语法,访问您的类的客户端将看不到仅用于实现接口的冗余属性(除非将对象强制转换为该接口,否则它将是不可见的)
原文地址:https://www.jb51.cc/mssql/83570.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。