var like 变量外部方法

var like variable outside methods

标题可能不太具体,抱歉。我想知道是否有一种变量类型(或 class 或其他东西)像 "var" 类型一样工作,但在方法之外,在 class 内,我想使用它作为这样的参数:

public class ConfigParam
{
    string paramName;
    var paramValue;

    public ConfigParam(string name, var value)
    {
        paramName = name;
        paramValue = value;
    }

    public string ParamName
    {
        get { return paramName; }
        set { paramName = value; }
    }

    public var ParamValue
    {
        get { return paramValue; }
        set { paramValue = value; }
    }
}

但是 "var" 类型在方法之外不起作用。谁能帮帮我?

您需要使用泛型:

public class ConfigParam<T>
{
    string paramName;
    T paramValue;

    public ConfigParam(string name, T value)
    {
        paramName = name;
        paramValue = value;
    }

    public string ParamName
    {
        get { return paramName; }
        set { paramName = value; }
    }

    public T ParamValue
    {
        get { return paramValue; }
        set { paramValue = value; }
    }
}

如果您需要做的不仅仅是存储类型 T 您可以应用 generic constraints.

您可以使用 object

public class ConfigParam
{
    string paramName;
    object paramValue;

    public ConfigParam(string name, object value)
    {
        paramName = name;
        paramValue = value;
    }

    public string ParamName
    {
        get { return paramName; }
        set { paramName = value; }
    }

    public object ParamValue
    {
        get { return paramValue; }
        set { paramValue = value; }
    }
}

没有类型安全,但它会起作用。