【发布时间】:2013-12-10 22:11:31
【问题描述】:
我目前正在尝试将 Xamarin.iOS 应用程序库转换为 PCL。我有这段代码无法编译:
private void SetPrivateField<T>(object item, string fieldName, object value) {
typeof(T).GetField(fieldName, BindingFlags.Instance | BindingFlags.NonPublic)
.SetValue(item, value);
}
如您所见,我正在尝试为类型设置私有字段。还有其他方法吗?
编辑 这编译。它会做同样的事情吗?
private void SetPrivateField<T>(object item, string fieldName, object value) {
typeof(T).GetRuntimeField(fieldName).SetValue(item,value);
}
【问题讨论】:
-
报什么编译器?错误?
-
@poupou 当前上下文中不存在名称“BindingFlags”(我在 Visual Studio 中编译)
-
您使用的是什么配置文件? 78和158暴露的反射api有很大区别
-
@StephaneDelcroix 我正在使用配置文件 78。请参阅上面的编辑。
-
@ChrisKooken 你知道如何在 PCL 中动态访问继承的属性吗?
标签: c# .net xamarin.ios portable-class-library