web-dev-qa-db-ja.com

.NETCore(Windows 8 Framework)の `GetCustomAttributes`に相当するメソッドは何ですか?

Stack APIとインターフェイスするアプリをまとめて、 このチュートリアル を実行しています(ただし、古いAPIバージョンでも動作します)。私の問題は、これをWindows 8ストアアプリ内で使用すると、以下にあるGetCustomAttributesメソッドをサポートしない.NETCore Frameworkによって制約されることです。

    private static IEnumerable<T> ParseJson<T>(string json) where T : class, new()
    {
        var type = typeof (T);
        var attribute = type.GetCustomAttributes(typeof (WrapperObjectAttribute), false).SingleOrDefault() as WrapperObjectAttribute;
        if (attribute == null)
        {
            throw new InvalidOperationException(
                String.Format("{0} type must be decorated with a WrapperObjectAttribute.", type.Name));
        }

        var jobject = JObject.Parse(json);
        var collection = JsonConvert.DeserializeObject<List<T>>(jobject[attribute.WrapperObject].ToString());
        return collection;
    }

私の質問は2つあります。正確にGetCustomAttributesは何をしますか。また、Windows 8ストアアプリレルムの制約内でこのメソッドに相当するものはありますか?

37
James Mertz

System.Reflection.TypeExtensionsナゲットパッケージをプロジェクトに追加します。 GetCustomAttributes拡張があります。

(VS 2017の場合)このようなもの。

<ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.6'">
    <PackageReference Include="System.Reflection.TypeExtensions">
        <Version>4.3.0</Version>
    </PackageReference>
</ItemGroup>
1
Brad Sarsfield