C#プロジェクト設定の実際の機能は何ですか“安全でないコードを許可する”
質問
C#プロジェクト設定"安全でないコードを許可する"プロジェクト自体の安全でないC#コードにのみ適用されますか、ネイティブC ++ DLLでリンクするときにこのオプションを設定する必要がありますか?ネイティブDLLにリンクするマネージDLLのリンクはどうですか?このオプションは実際に何をしますか?
解決
「安全でない」と関係があるC#のキーワード。 「安全でない」通常発生するすべてのチェックをオフにして、メモリに直接アクセスできるようにします。ネイティブC ++ DLLまたはインターフェイスの呼び出しを指すものではありません。
他のヒント
「安全でない」を使用することができます;ブロック。
unsafe(...)
{
}
これは、 unsafe
ブロックの使用に関連しています(ポインターを使用できます)。 P / Invokeには適用されません。
安全でない{}コンテキストを使用する必要があります。以前はsizeof()を使用する必要がありましたが、それ以降のバージョンではそうではなくなりました。
Cのような別の言語で記述された別のDLLを使用する場合、安全でないコードを許可する必要はありません。
所属していません StackOverflow