好的,我遇到了VB.NET的问题。所以那些VB.NET的维护者,你能帮帮我吗?这是我的问题:我正在使用LINQ to Entities,它也适用于LINQ to SQL,我构建我的edmx文件然后我创建一个与实体之一同名的Partial Publc类所有现在都很好,所以这里来了问题。
我需要Partial类来实现Interface Implements Interfaces.IAsset但是VB.NET想要在属性的末尾放置“Implements Interfaces.IAsset.ID”,这当然是在Partial的生成代码部分中class,我不能这样做,因为edmx文件是自动生成的,将来会改变。
以下是需要排序的代码行:
公共属性ID1()As Integer实现Interfaces.IAsset.ID
在C#中它很好并且可以创造奇迹。那么为什么VB.NET不能实现代码生成类中的接口呢?
答案 0 :(得分:6)
部分类中的一点间接应该可以解决这个问题......
Public Property AssetId() As Int32 Implements IAsset.AssetId
Get
Return Id1
End Get
Set(ByVal value As Int32)
Id1 = value
End Set
End Property
实现接口的属性调用dbml生成的实际属性。该类基本上有两个id属性,这不是很优雅,但是当通过界面访问时你不会知道它们的区别。
答案 1 :(得分:1)
没有办法解决这个问题。这是VB如何强迫您处理接口实现的缺陷。
您可以为C#中的LINQ to Entities创建一个单独的库。我不确定你是否可以将部分类放在单独的项目中,并将基础知识保存在VB中。我从来没有尝试过。