错误CS0117:';BindingFlags';不包含';GetProperty';
本文关键字:包含 GetProperty BindingFlags 错误 CS0117 | 更新日期: 2023-09-27 18:28:47
我正在尝试将Unity 5.3.1单声道项目移植到Windows应用商店。以下是一行我无法完全解决的代码:
var pia = T.GetTypeInfo().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.FlattenHierarchy | BindingFlags.GetProperty);
BindingFlags.GetProperty
似乎不在那里。根据.Net 4.5文档,该枚举属性应该存在。我不知道如果我放弃GetProperty
方法,代码会发生什么。
是否有将由Unity3D编译的等效程序?
您需要让代码区分它运行的平台。在编辑器中,Unity将根据Mono框架编译代码,而在为WinStore构建期间,它将根据.NET 4或其他平台编译代码。无论你写什么,你的代码都不会为其中一个平台编译。
您需要为这两个平台提供不同的代码。例如:
#if UNITY_METRO
var pia = T.GetTypeInfo().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.FlattenHierarchy | BindingFlags.GetProperty);
#else
var pia = T.GetType().GetProperties(...);
#endif