我有一个便携式课堂图书馆。

“ .NETPortable,Version = v4.5,Profile = Profile75”

代码

typeof(T).GetMethods()


与错误

cannot resolve symbol 'GetMethods'


我的project.json

{
  "supports": {},
  "dependencies": {

  },
  "frameworks": {
    ".NETPortable,Version=v4.5,Profile=Profile75": { },
    "net541": { },
    "dotnet5.4": {
      "dependencies": {
        "Microsoft.CSharp": "4.0.1-beta-23516",
        "System.Collections": "4.0.11-beta-23516",
        "System.Linq": "4.0.1-beta-23516",
        "System.Runtime": "4.0.21-beta-23516",
        "System.Threading": "4.0.11-beta-23516",
        "System.Reflection": "4.1.0-beta-23516",
        "System.Collections.Concurrent": "4.0.11-beta-23516"
      }
    }

  }
}


以及csproj文件中的key属性

  <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <TargetFrameworkProfile>Profile75</TargetFrameworkProfile>
    <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>

最佳答案

我对该特定配置文件了解不多(并且使用该配置文件进行的任何测试都使我无法使用预定义类型时产生大量错误),但我确实知道反射现在在TypeTypeInfo之间分配。

您是否有可能希望使用using指令

using System.Reflection;


然后使用:

typeof(T).GetTypeInfo().DeclaredMethods


(使用DeclaredMethods property。)请注意,这仅返回给定类中声明的方法,而不返回继承的方法(可能不是您所需要的)。

要么

typeof(T).GetTypeInfo().GetMethods()


后者声称得到了PCL的支持,但可能并非如此-以我的经验,MSDN中的版本信息变得越来越难以信任,DNX品种增加了更多的复杂性。

关于c# - 我应该在NETPortable中引用哪个,找不到GetMethods,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34038768/

10-10 21:32