我知道我们可以使用
访问模型元数据var metaData = ModelMetadataProviders.Current.GetMetadataForType(() => Model, Model.GetType());
我正在寻找的是一种只使用它的类名访问模型元数据的方法,没有它的实例(可能类似于ModelMetadataProviders.Current.GetMetadataForType(Model.GetType()))。有没有简单的方法来实现这一目标?
答案 0 :(得分:14)
您无需实例即可访问类型的元数据:
var metaData = ModelMetadataProviders
.Current
.GetMetadataForType(null, typeof(SomeViewModel));
如果您拥有的是表示类型名称的字符串,则可以从此字符串加载类型:
var metaData = ModelMetadataProviders
.Current
.GetMetadataForType(null, Type.GetType("AppName.Models.MyViewModel"));