В настоящее время я пытаюсь преобразовать библиотеку приложений Xamarin.iOS в PCL. У меня есть этот код, который не будет компилировать:Portable Class Library Reflection GetField
private void SetPrivateField<T>(object item, string fieldName, object value) {
typeof(T).GetField(fieldName, BindingFlags.Instance | BindingFlags.NonPublic)
.SetValue(item, value);
}
Как вы можете видеть, что я пытаюсь установить личное поле для типа. Есть ли другой способ?
EDIT Это компилируется. Будет ли это делать то же самое?
private void SetPrivateField<T>(object item, string fieldName, object value) {
typeof(T).GetRuntimeField(fieldName).SetValue(item,value);
}
Что такое * компилятор? * Сообщалось об ошибке? – poupou
@poupou Название 'BindingFlags' не существует в текущем контексте (im компиляция в visual studio) –
Какой профиль вы используете? есть большая разница в отражении api, выставленном в 78 и 158 –