クラスライブラリ(C#)があります。 HtmlEncodeメソッドを使用してデータをエンコードする必要があります。これは、Webアプリケーションから簡単に実行できます。私の質問は、コンソールアプリケーションから呼び出されているクラスライブラリからこのメソッドを使用するにはどうすればよいですか?
System.Webをインポートするか、それを含むSystem.Web.HttpUtilityを呼び出します
DLLに参照がまだない場合は、参照を追加する必要があります
string TestString = "This is a <Test String>.";
string EncodedString = System.Web.HttpUtility.HtmlEncode(TestString);
System.Net.WebUtility
クラスは.NET 4.0以降で使用可能です(System.Web.dllの依存関係は不要です)。
C#3を使用している場合、これをさらに簡単にする拡張メソッドを作成することをお勧めします。次のように、静的メソッドを(できれば静的クラスで)作成します。
public static class Extensions
{
public static string HtmlEncode(this string s)
{
return HttpUtility.HtmlEncode(s);
}
}
これで、次のようなきちんとしたことができます。
string encoded = "<div>I need encoding</div>".HtmlEncode();
これを試して
System.Net.WebUtility.HtmlDecode(string);
System.Net.WebUtility.HtmlEncode(string);
System.Web.dllへの参照を追加すると、System.Web.HtmlUtilityクラスを使用できます
SharePoint 2010を使用している場合、次のコード行を使用すると、System.Webライブラリ全体を参照する必要がなくなります。
Microsoft.SharePoint.Utilities.SPHttpUtility.HtmlEncode(stringToEncode);
System.Webアセンブリを参照して、HttpServerUtility.HtmlEncodeを呼び出すだけです。
http://msdn.Microsoft.com/en-us/library/system.web.httpserverutility.htmlencode.aspx
Silverlightを使用している場合、これを使用します。
System.Windows.Browser.HttpUtility.HtmlEncode(...);