10

https://msdn.microsoft.com/en-us/library/ms182161.aspx

このページで説明されている3つのクラスは、.NET Frameworkで特別に処理されていますか?(NativeMethods、SafeNativeMethods、およびUnsafeNativeMethods)

私が尋ねている理由は、NativeMethodsクラスのカテゴリを作成しても大丈夫かどうか疑問に思っているからです。例えば:

ComNativeMethods
User32NativeMethods
OleStorageNativeMethods
4

4 に答える 4

8

これは慣例であり、要件ではありません。CLRに反映してそこにあるコードを見ると、NativeMethodsクラス内にP/Invokeコードが表示されることがよくあります。FxCopは、P / Invokeコードが検出された場合、このようなクラスに配置することをお勧めすると思います。

于 2009-09-18T15:06:34.053 に答える
3

これは、*NativeMethodsという名前のクラスにp/ invokeメソッドを配置する必要があるという単なる慣例ですが、独自の方法で実行できないようにする技術的な制約はありません...

于 2009-09-18T15:04:51.360 に答える
1

これらはCLRによって特別に処理されることはありません。NativeMethods、SafeNativeMethods、またはUnsafeNativeMethodsという名前のクラス内にP/Invokesを配置することをお勧めします。

アセンブリでFxCopを実行すると、この推奨事項が機能することがわかります。

于 2009-09-18T15:04:15.400 に答える