4

C# アプリケーション内から ICU のクラスとメソッドを使用したいと考えています。具体的には、ブレーク インテレータと関連する型です。私の推測では、DllImport を使用して ICU4C dll を参照していると思いますが、ICU 文字列などの型を渡す方法がわかりません。.NET はこれらをマーシャリングしてくれますか? バイナリ ディストリビューションに含まれるライブラリは、COM と互換性がありますか?

4

2 に答える 2

3

ICU4NETを見てください:

ICU4NET は、ICU4C を介して .NET 言語のバインディングを提供します。

それが機能すれば、まさにあなたが必要としているもののように思えます。確かに、最後の「リリース」は 0.0.3 で、最後の変更は 2010 年 8 月でした。

(これまでのところ機能していることに気付くかもしれませんが、元の作成者が必要としていたすべてのことを満たしているので、それだけです。必要に応じて変更を加えることができれば、同じ立場にある将来の開発者に利益をもたらすでしょう。 ...)

于 2013-02-21T08:12:35.827 に答える
2

代替手段があるようです:icu-dotnet

次の理由により、Lucene.net チームは ICU4NET から icu-dotnet に変更されているようです。

ICU4NET に関しては、ICU4NET を icu-dotnet ( https://github.com/sillsdev/icu-dotnet ) に置き換えました。ICU4NET は元のライブラリの小さな C++/CLI ラッパーを使用しているため、ライブラリを変更することにしましたが、現時点では C++/CLI をクロスプラットフォームに移行する計画はありません。icu-dotnet は代わりに PInvokes を使用します。

ナゲットパッケージはx86のみを対象としているため、ICU4NETから離れることを望んでいました。

于 2016-09-11T07:24:50.937 に答える