C#プロジェクト設定の実際の機能は何ですか“安全でないコードを許可する”

StackOverflow https://stackoverflow.com/questions/233759

質問

C#プロジェクト設定"安全でないコードを許可する"プロジェクト自体の安全でないC#コードにのみ適用されますか、ネイティブC ++ DLLでリンクするときにこのオプションを設定する必要がありますか?ネイティブDLLにリンクするマネージDLLのリンクはどうですか?このオプションは実際に何をしますか?

役に立ちましたか?

解決

「安全でない」と関係があるC#のキーワード。 「安全でない」通常発生するすべてのチェックをオフにして、メモリに直接アクセスできるようにします。ネイティブC ++ DLLまたはインターフェイスの呼び出しを指すものではありません。

他のヒント

「安全でない」を使用することができます;ブロック。

unsafe(...)
{
}

これは、 unsafe ブロックの使用に関連しています(ポインターを使用できます)。 P / Invokeには適用されません。

安全でない{}コンテキストを使用する必要があります。以前はsizeof()を使用する必要がありましたが、それ以降のバージョンではそうではなくなりました。

Cのような別の言語で記述された別のDLLを使用する場合、安全でないコードを許可する必要はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top