2017-01-11 3 views
2

Мы портирование .Net 4.0 класс Библиотеку .Net Ядро 1,1 и ударил с проблемой ограниченной поддержки .Net Reflection в .Net CLR ядра ,Запрос поддержки Отражение относительно .Net в .Net ядре

Может ли кто-нибудь помочь нам с любыми деталями, связанными с эквивалентом ядра .net для вызова Type.GetProperties и Type.GetCustomAttributes методов на объект сборки?

Using System.Type; 
Type myType; 
    var prop = myType.GetProperties(); 
    var attrib = myType.GetCustomAttributes(true); 

Мы можем видеть, что есть CustomAttributes собственности, но это не возвращает экземпляры пользовательских атрибутов, а метаданные об атрибутах. Любая помощь очень ценится.

+0

Сначала вызовите 'Type.GetTypeInfo'. –

+0

Фразы и блики ключевой точки вопроса плюс выделение кода – miltonb

ответ

2

Вы должны будете использовать GetTypeInfo как это:

using System; 
using System.Reflection; 

Type myType = ...; 
TypeInfo myTypeInfo = myType.GetTypeInfo(); 

var prop = myTypeInfo.GetProperties(); 
var attrib = myTypeInfo.GetCustomAttributes(true); 

Когда .NET Standard 2.0 и .NET 2.0 ядро ​​приходят, я понимаю, что вам не нужно будет сделать это изменение и может использовать оригинальные API.

+2

В качестве дополнения этот документ под названием «Портирование на .NET Core» явно указывает изменения в «System.Type» и делает то, что вы рекомендуете: https : //blogs.msdn.microsoft.com/dotnet/2016/02/10/porting-to-net-core/ –

Смежные вопросы