.NET Class属性作为对象,例如System.String

时间:2014-05-09 11:41:10

标签: c# .net

我不确定这是否可行,甚至不知道如何正确地说出来。

我正在创建一个我想要与离线应用一起使用的新webAPI。应用程序连接到api(在脱机之前)并下拉字段列表以生成动态表单。我想向客户提供一个字段列表。简单来说,这可能是iddescription

但是,要完全按照我的意愿生成表单,我可能需要提供字段“类型”,例如System.DateTimeSystem.String。有可能这样做吗?

在伪代码中,这可能是:

public class EntityType
{
    public Guid EntityTypeId { get; set; }
    public string Description { get; set; }
    public Object Type { get; set; }
}

我可能想要像这样创建一个EntityType

EntityType entityType = new EntityType { 
    EntityTypeId = Guid.NewGuid(),
    Description = "Visit Date",
    Type = System.DateTime
};

这是我希望能够实现的Type = System.DateTime。然后,我可以让我的表单生成一个类型为日期的字段。例如,这可能适用于字符串。

1 个答案:

答案 0 :(得分:5)

要表示类型,请使用Type

 public Type Type { get; set; }

...

Type = typeof(DateTime)

然而!这不太适用于webapi,因为Type在平台之间不可互换。

另一种选择是预期类型的​​enum;您可能会发现TypeCode包含您想要的所有内容,但您也可以创建自己的enum已知类型。