在VB.NET中使用单个属性实现多个接口

凯尔·米特

启动时,我将所有app.config值加载到名为的类中ConfigValues我的数据库仅需要其中的一些,因此我有一个IDatabaseConfig仅指定其所需参数接口。这样,当我通过构造函数注入创建数据库连接类时,我可以要求它传递任何实现的东西IDatabaseConfig

我想做的是在ConfigValues上声明多个接口,并允许某些属性同时实现多个协定。

这是一个小代码示例:

Public Interface IAppConfig
    Property Server As String
    Property ErrorPath As String
End Interface

Public Interface IDatabaseConfig
    Property Server As String
End Interface

Public Class ConfigValues
    Implements IAppConfig
    Implements IDatabaseConfig

    Public Property ErrorPath As String Implements IAppConfig.ErrorPath

    'need different syntax - does not compile:
    Public Property Server As String Implements IAppConfig.Server, 
                                     Implements IDatabaseConfig.Server

End Class

在VB.NET中,是否有一种方法可以指定单个属性满足多个接口的约定?

这与SO上的这两个问题完全相反,这两个问题试图将同一接口名称拆分为两个不同的属性。


作为一种巧妙的解决方法,我可以让两个属性都引用同一个支持属性,但是我必须至少更改其中一个的属性名称,从而更改API。

Private _server As String
Public Property ServerForApp As String Implements IAppConfig.Server
    Get
        Return _server
    End Get
    Set(value As String)
        _server = value
    End Set
End Property
Public Property ServerForDatabase As String Implements IDatabaseConfig.Server
    Get
        Return _server
    End Get
    Set(value As String)
        _server = value
    End Set
End Property
威科

我认为您想要的东西得到了支持,您只是语法错误:

Public Class ConfigValues
    Implements IAppConfig
    Implements IDatabaseConfig

    Public Property ErrorPath As String Implements IAppConfig.ErrorPath

    Public Property Server As String Implements IAppConfig.Server, 
                                                IDatabaseConfig.Server

End Class

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用数组VB .net的多个属性

来自分类Dev

如何在VB.Net中使用单个Windows复制GUI复制多个文件/文件夹

来自分类Dev

xml多个属性vb.net

来自分类Dev

VB.NET实现多种相反的接口类型

来自分类Dev

VB.NET实现多种相反的接口类型

来自分类Dev

使用VB.Net获取实现特定接口的所有类类型

来自分类Dev

实现VB.Net的PubNub

来自分类Dev

在VB.NET中使用系统表

来自分类Dev

在VB.NET中使用DataURL

来自分类Dev

在Javascript中使用vb.net代码

来自分类Dev

在vb.net中使用ANSI代码

来自分类Dev

在VB ASP.NET中使用HighCharts

来自分类Dev

在vb.net中使用RegEx

来自分类Dev

在VB.NET中使用字节

来自分类Dev

在vb.net中使用MATLAB函数

来自分类Dev

在vb.net中使用Excel

来自分类Dev

在vb.net中使用ANSI代码

来自分类Dev

在VB.NET中使用Linq

来自分类Dev

在Vb.net中使用Order By排序

来自分类Dev

如何在vb.net中使用linq从数据表中查询单个值

来自分类Dev

VB Net RegEx匹配多个

来自分类Dev

VB.NET抽象属性

来自分类Dev

VB.NET和VB之间的区别

来自分类Dev

实施的属性错误VB

来自分类Dev

VB.Net中的接口行为不同

来自分类Dev

如何设置和管理要在 VB.NET 中使用的多个 SQL Server 脚本?

来自分类Dev

IIS下的VB自动实现的属性

来自分类Dev

在VB.NET中使用变量属性名称反序列化JSON

来自分类Dev

在 vb.net 中使用 get 和 set 属性的文本框按键事件