引用值存储:object,ValueType或dynamic

时间:2013-06-10 10:04:49

标签: c# object dynamic value-type

我正在以此类的形式从第三方lib接收数据

public class Value
{
    public virtual byte asByte();
    public virtual double asDouble();
    public virtual int asInt();
    public virtual long asLong();
    public virtual string asString();
}

收到后我必须把它保存在自己的类表中。许多业务层classess将使用此表,每个表都使用自己的一组表,因此我的表类不能强类型化。表的每个客户端必须将每个值转换为它的真实类型(当然还处理转换异常)。

现在我正在考虑在表中存储值的多种方法:

class FieldObj
{
    public object Value { get; private set; }

    // .  .  .
}


class FieldVT
{
    public ValueType Value { get; private set; }

    // .  .  .
}


class FieldDyn
{
    public dynamic Value { get; private set; }

    // .  .  .
}

我应该使用哪种字段变体?我需要客户在阅读时快速。

0 个答案:

没有答案