我正在同时为桌面、Windows 8商店和Windows手机构建新的应用程序,因此我创建了可移植类库以在所有平台上具有通用功能。我的问题是,在PCL内尝试重用我的代码时,我无法访问库中的某些方法和属性。根据MSDN,这些方法得到支持,但我不知道为什么无法访问它们。
var property = memberExpression.Member as PropertyInfo;
if (property == null)
{
}
var getMethod = property.GetGetMethod(true);
if (getMethod.IsStatic)
{}
这是无法编译的代码片段。在Visual Studio编辑器中,GetGetMethod和IsStatic显示为红色。我不知道为什么会这样,也不知道如何访问这些属性。
如果有人曾经做过类似的事情,请帮助我使这段代码编译。
http://blogs.msdn.com/b/dotnet/archive/2012/08/28/evolving-the-reflection-api.aspx
。值得注意的是:GetMethod 和其兄弟方法不再可用。请改用DeclaredMethod(s)
属性(在TypeInfo
实例上可用,您可以使用.GetTypeInfo()
从类型实例中获取它)。 - Morten Mertner