都内で働くSEの技術的なひとりごと / Technical soliloquy of System Engineer working in Tokyo

都内でサラリーマンやってます。SQL Server を中心とした (2023年からは Azure も。) マイクロソフト系(たまに、OSS系などマイクロソフト以外の技術も...)の技術的なことについて書いています。日々の仕事の中で、気になったことを技術要素関係なく気まぐれに選んでいるので記事内容は開発言語、インフラ等ばらばらです。なお、当ブログで発信、発言は私個人のものであり、所属する組織、企業、団体等とは何のかかわりもございません。ブログの内容もきちんと検証して使用してください。英語の勉強のため、英語の

.NET アプリケーションの高速化について探し始めてみた - その7 - ( ExactSpelling 属性 )

 ExactSpelling 属性は名前の文字列が完全に一致する時のみ利用可能とするかの属性です。ExactSpelling = true とすることで、完全に一致した関数のみとなります。ExactSpelling = false とすると、部分一致した関数を検索します。以下はサンプルです。

public class Win32
{
    [DllImport("user32.dll", CharSet=CharSet.Unicode,
        ExactSpelling=false)]
    public static extern int MessageBox(IntPtr hWnd, String text,
                                String caption, uint type);
}

 上記の場合、MessageBoxA ( ANSI版 )ではない場合、MessageBoxW ( UNICODE版 ) を探しにいくと行った感じになります。