作为我正在处理的一个非常简化和愚蠢的例子,假设我有以下带有简单静态 int
属性的类:
public class MyClass
{
public static int MyVar { get; set; }
}
因此,如果我想通过代码设置该属性,使用诸如以下内容将非常容易:
MyClass.MyVar = 2;
但是,我如何处理(同样,为了简化示例)传入 string
并将其转换为 int
?
我能想到的唯一方法是创建一个辅助方法,例如:
public class MyClass
{
public static int MyVar { get; private set; }
public static void SetMyVar(string sMyVar)
{
MyVar = int.Parse(sMyVar);
}
}
然后在代码中运行:
MyClass.SetMyVar("2");
我很想知道是否有比必须添加额外方法更好的方法来完成此任务。
最佳答案
虽然您绝对不应该这样做,因为它读起来很困惑,但您可以以这种方式创建属性
class MyClass
{
private static int _property = 0;
public static object Property
{
get
{
return _property;
}
set
{
_property = Convert.ToInt32(value);
}
}
}
每当您想将其用作整数时,您都必须将其转换为 int,但这是我能想到的最好的方法。
关于c# - 将不同类型的变量分配给一种类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31344865/