繁体   English   中英

错误CS0117:“ BindingFlags”不包含“ GetProperty”的定义

[英]error CS0117: 'BindingFlags' does not contain a definition for 'GetProperty'

我正在尝试将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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM