如何为所有类实例添加特定值?

时间:2014-04-21 18:17:28

标签: c# class

现在我有以下代码:

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");

1 个答案:

答案 0 :(得分:2)

John在评论中指出,ApiKey是静态的,因此所有对象实例都共享相同的值。

此外,它被标记为readonly,这意味着分配的ApiKey实例一旦设置就无法更改,但是如果{{{}}可以修改该实例的属性。 1}}类允许。这些修改对于ApiKey类的所有实例都是可见的。