6

私はargbから色を定義しています、例

Color.FromArgb(255,255,0,0);

Visual Studio 2012のwinRTアプリケーションでは、これは[セキュリティクリティカル]でタグ付けされていると表示されます。理由はありますか?検索してみましたが、結果がありません。そして、なぜこれがセキュリティに関係しているのか分かりません。

アップデート:

FromArgb(...)だけでなく、メソッドはこの[SECURITYCRITICAL]警告を出します。これらのいずれか:

c.A = 255;
c.R = 255;
c.G = 0;
c.B = 0;

また、します。

4

3 に答える 3

4

System.Drawingは、アンマネージGDI+コードのラッパーです。私の理解では、WinRTはGDI+をサポートしていません。

http://social.msdn.microsoft.com/Forums/en-NZ/winappswithnativecode/thread/0ba00fbd-183f-4df6-afa2-04d0ac14706a

ネイティブレンダリングコードは、Direct2Dで実行する必要があります。

于 2012-10-20T22:36:30.470 に答える
2

メッセージは警告ではなく、メソッドのシグネチャ属性に関する情報です。

SECURITY CRITICALは、実際のクラス名がSecurityCriticalAttributeであるコード属性です。この属性は、コードを実行するために完全な信頼が必要なメソッド(通常、ネイティブコード呼び出し、安全でないコード、グラフィックリソース(通常はアンマネージコードなどが必要))に指定する必要があります。

メソッドに完全な信頼が付与されていない場合、セキュリティクリティカルメソッドは例外を発生させます。

詳細:http://msdn.microsoft.com/en-us/library/system.security.securitycriticalattribute.aspx

于 2012-10-21T14:36:23.113 に答える
2

代わりにColorfromを使用する必要があります。System.Windows.Media

于 2012-10-21T15:42:35.833 に答える