構成セクションで複数の列挙値を設定する方法はありますか?
.net で行うようにobject.Filter = Filter.Update | Filter.Create;
<wacther filter="update, created"/>
そのようなものはサポートされていますか?
構成セクションで複数の列挙値を設定する方法はありますか?
.net で行うようにobject.Filter = Filter.Update | Filter.Create;
<wacther filter="update, created"/>
そのようなものはサポートされていますか?
それは箱から出してすぐに動作します:
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var section = (MySection)ConfigurationManager.GetSection("mySection");
Console.WriteLine(section.Enum);
}
}
public class MySection : ConfigurationSection
{
[ConfigurationProperty("enum")]
public MyEnum Enum
{
get { return (MyEnum)this["enum"]; }
set { this["enum"] = value; }
}
}
[Flags]
public enum MyEnum
{
None = 0,
Foo = 1,
Bar = 2,
Baz = 4
}
}
<configSections>
<section name="mySection" type="ConsoleApplication1.MySection, ConsoleApplication1"/>
</configSections>
<mySection enum="Foo, Bar"/>
プリント: フー、バー
フラグ列挙型を定義します。
[Flags]
enum Filter
{
None = 0,
Update = 1,
Create = 2
}
構成ファイルから列挙型の文字列があるとします。
var enumString = "update, create";
したがって、結果を得ることができます:
var result = (Filter) Enum.Parse(typeof (Filter), enumString, true);