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; }
}
}
没有类型安全,但它会起作用。
标题可能不太具体,抱歉。我想知道是否有一种变量类型(或 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; }
}
}
没有类型安全,但它会起作用。