■59453 / inTopicNo.1) |
LCID |
□投稿者/ asuka (39回)-(2011/05/26(Thu) 13:44:06)
|
分類:[.NET 全般]
いつもお世話になっております。
C#にてLCMapString()APIを使用したいと考えています。 下記サイトを参考にAPIを呼ぶための関数を作成しました。 http://d.hatena.ne.jp/deraw/20060831/1156992224 http://d.hatena.ne.jp/hilapon/20100916/1284623378
public static string MapString( MapFlags mapFlags, string source) { char[] buffer = new char[source.Length * 2]; int len = LCMapString(Thread.CurrentThread.CurrentCulture.LCID, (uint)mapFlags, source, source.Length, buffer, buffer.Length); if (len < 0) { throw new ArgumentException("\"LCMAP_SORTKEY\" is not support "); }
return new String(buffer, 0, len); }
問題はLCMapString()APIの第一引数です。
LCIDがメンバにいないとコンパイラに怒られます。 →実際にいません。 →また、Thread.CurrentThread.CurrentCultureと型を指定しているのにエラーではSystem.Globalization.CultureInfoにLCIDの定義がないと怒られます。
.NetFramework2.0から登場したクラスみたいですが、下記URLに4.0でもサポートしている旨が記載されています。 http://msdn.microsoft.com/ja-jp/library/system.globalization.cultureinfo.lcid.aspx
どなたか原因、あるいは代わりの方法があればご教授願います。
--- VS2010 .NetFramework4.0 Windows7 x64 SP1
|
|