gpt4 book ai didi

c# - 接口(interface)上的私有(private)成员

转载 作者:行者123 更新时间:2023-12-02 14:52:47 25 4
gpt4 key购买 nike

我对整个 C# 有点陌生,但基本上我正在为我正在开发的应用程序编写基于插件的架构。每个插件都需要有一些基本的东西,例如我有一个界面如下:

interface IPlugin
{
string Username {get;}
string Password {get;}
}

问题是用户名和密码只会在实现接口(interface)的类中使用,因此不需要公开。

这意味着我无法使用接口(interface),因为它只允许公开。我想我可以使用一个抽象类,但是我需要在类成员上添加正确的访问修饰符,以便我可以实现,当我从类继承时我可以看到它。

我尝试了以下方法,但它从未起作用,我知道为什么不起作用,我只是不知道正确的修饰符是什么。

abstract class Plugin
{
private string Username;
}

class Imp : Plugin
{
this.Username = "Taylor";
}

最佳答案

尝试使用protected修饰符,以便可以从子类访问字段

abstract class Plugin
{
protected string Username;
protected string Password;
}

class Imp : Plugin
{
public Imp()
{
base.Username = "Taylor";
base.Password = "Pass";
}
}

您可以省略 base 访问器或使用 this 代替,但我习惯于明确说明我要更改的内容。它使代码更具可读性并且不那么模糊。

关于c# - 接口(interface)上的私有(private)成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14424948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com