小编典典

泛型类型转换 FROM 字符串

all

我有一个类,我想用它来存储另一个类的“属性”。这些属性只有一个名称和一个值。理想情况下,我希望能够添加 类型化
属性,以便返回的“值”始终是我想要的类型。

类型应该始终是原始类型。这个类继承了一个抽象类,它基本上将名称和值存储为字符串。这个想法是这个子类将为基类添加一些类型安全性(以及为我节省一些转换)。

所以,我创建了一个(大致)这样的类:

public class TypedProperty<DataType> : Property
{
    public DataType TypedValue
    {
        get { // Having problems here! }
        set { base.Value = value.ToString();}
    }
}

所以问题是:

是否有一种“通用”方法可以将字符串转换回原语?

我似乎找不到任何通用接口来链接整个转换(像 ItryParsable 这样的东西本来是理想的!)。


阅读 19

收藏
2022-05-13

共1个答案

小编典典

我不确定我是否正确理解了您的意图,但让我们看看这是否有帮助。

public class TypedProperty<T> : Property where T : IConvertible
{
    public T TypedValue
    {
        get { return (T)Convert.ChangeType(base.Value, typeof(T)); }
        set { base.Value = value.ToString();}
    }
}
2022-05-13