8

カスタム変換用に IConvertible を実装しようとしています。.NET ポータブルを使用していますが、そこでは利用できないようです。しかし、MSDN のドキュメントには次のように書かれています。

ポータブル クラス ライブラリ
サポート対象: ポータブル クラス ライブラリ

これも表示されるので少し心配です:

この API は CLS に準拠していません。

これが解決できない理由でしょうか?ドキュメントによると、これはSystem名前空間の一部である必要があります。インターフェイスを構造体に実装しようとしています。

次の行の何か:

public struct ABC: Blah<Demo>, IConvertible 
{}

本当に小さな何かを逃しているような気がします。
詳細: .NET Framework 4.5 と Windows 8 をターゲットにしています。

4

1 に答える 1

5

「サポート対象: ポータブル クラス ライブラリ」は、シナリオでサポートされているかどうかを判断するための出発点にすぎません。PCL ターゲットがサポートされているかどうかを確認するには、サポートに関する詳細情報も参照する必要があります。あなたは、.NET Framework 4.5 と Windows 8 をターゲットにしていると言いました。 と のサポート情報を比較してみましょIConvertibleIComparable

IConvertible:

.NET Framework
サポート対象: 4.5.2、4.5.1、4.5、4、3.5、3.0、2.0、1.1、1.0
.NET Framework クライアント プロファイル
サポート対象: 4、3.5 SP1
ポータブル クラス ライブラリ
サポート対象: ポータブル クラス ライブラリ
.NET Windows Phone アプリ用
サポート対象: Windows Phone 8.1、Windows Phone 8、Silverlight 8.1

そしてIComparable

.NET Framework
サポート対象: 4.5.2、4.5.1、4.5、4、3.5、3.0、2.0、1.1、1.0
.NET Framework クライアント プロファイル
サポート対象: 4、3.5 SP1
ポータブル クラス ライブラリ
サポート対象: ポータブル クラス ライブラリ
.NET Windows ストア アプリ用
サポート対象: Windows 8
.NET Windows Phone アプリ用
サポート対象: Windows Phone 8.1、Windows Phone 8、Silverlight 8.1

そのため、「PCL でサポートされている」ことを確認したら、他のセクションを見て、それを一連のターゲットと比較する必要があります。サポート対象としてリストされていないターゲットがある場合、現在の PCL でそのタイプを使用することはできません (サポートされていないターゲットを削除しない限り)。

于 2014-08-29T06:41:01.617 に答える