现在我有以下代码:
public class Argument
{
public static readonly Argument ApiKey = new Argument("api_key", true);
private string _key;
private bool _required;
private string _value;
private Argument(string name, bool required)
{
_key = name;
_required = required;
}
public void AddValue(string value)
{
_value = value;
}
}
我想要实现的是当我执行ApiKeyInstance.AddValue("apikey");
时,它的值被添加到ApiKey
Argument实例的所有实例中。
如何完成此代码以实现我想要的,或者有更好的方法来实现这一目标?我现在想的是使用Singleton但是如果是这样,我如何在代码中没有引用的情况下添加特定值? (类似于Argument arg = Argument.ApiKey; arg.AddValue("str");
)
答案 0 :(得分:2)
John在评论中指出,ApiKey
是静态的,因此所有对象实例都共享相同的值。
此外,它被标记为readonly
,这意味着分配的ApiKey
实例一旦设置就无法更改,但是如果{{{}}可以修改该实例的属性。 1}}类允许。这些修改对于ApiKey
类的所有实例都是可见的。