【问题标题】:Why do I use interface properties like this?为什么我要使用这样的接口属性?
【发布时间】:2020-01-25 13:33:44
【问题描述】:
internal interface ICarrotModule
{
    string str { get; }
}
class Dataserver : ICarrotModule
{

    private string _Moudle = "Module Test";

    string ICarrotModule.str { get { return _Moudle; } 

我只需要编写一个项目。像这样的A是什么意思?你打什么电话?

【问题讨论】:

    标签: c# .net interface


    【解决方案1】:

    这称为显式接口实现。它通常在您实现两个包含特定方法或属性签名的接口时使用。这种实现方法有助于将两个实现分开。

    Read more here

    【讨论】:

    • 最重要的是,显式实现的成员只能通过接口类型的引用来访问。在您的情况下,您将无法通过Dataserver 类型的变量访问str 属性。相反,您必须转换为ICarrotModule 类型。您可以在仅通过接口访问成员的情况下执行此操作,例如如果您实现了IList,并且唯一使用该实现的地方是绑定到DataGridView,它只会以该接口类型访问对象。
    猜你喜欢
    • 2021-01-01
    • 2021-02-22
    • 1970-01-01
    • 1970-01-01
    • 2018-10-04
    • 1970-01-01
    • 2023-01-08
    • 1970-01-01
    • 2015-04-11
    相关资源
    最近更新 更多