Получить метаданные модели из названия класса - PullRequest
9 голосов
/ 15 апреля 2011

Я знаю, что мы можем получить доступ к метаданным модели, используя

var metaData = ModelMetadataProviders.Current.GetMetadataForType(() => Model, Model.GetType());

То, что я ищу, - это способ доступа к метаданным модели, используя только имя класса, без его экземпляра (возможно, что-то вроде ModelMetadataProviders.Current.GetMetadataForType (Model.GetType ())). Есть ли простой способ добиться этого?

1 Ответ

14 голосов
/ 15 апреля 2011

Вам не нужен экземпляр для доступа к метаданным типа:

var metaData = ModelMetadataProviders
    .Current
    .GetMetadataForType(null, typeof(SomeViewModel));

И если у вас есть только строка, представляющая имя типа, вы можете загрузить тип из этой строки:

var metaData = ModelMetadataProviders
    .Current
    .GetMetadataForType(null, Type.GetType("AppName.Models.MyViewModel"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...