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

dar*_*ixx 2 .net c#

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

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

但是,为了完全按照我的意愿生成表单,我可能想要提供一个字段"类型",如System.DateTimeSystem.String.是否有可能做到这一点?

在伪代码中,这可能是:

public class EntityType
{
    public Guid EntityTypeId { get; set; }
    public string Description { get; set; }
    public Object Type { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我可能想创建一个EntityType这样的:

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

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

Mar*_*ell 5

要表示类型,请使用Type:

 public Type Type { get; set; }
Run Code Online (Sandbox Code Playgroud)

...

Type = typeof(DateTime)
Run Code Online (Sandbox Code Playgroud)

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

另一种选择是enum你期望的类型; 你可能会发现它TypeCode拥有你想要的一切,但你也可以简单地创建自己enum的已知类型.