1

ASP.NET ページから呼び出される .NET アセンブリにフラグの列挙があります。.jsVisual Studio のビルド ステップで、同等の JavaScript を含むファイルを生成したいと考えています。これを行うためのツールはありますか?


編集:これはうまくいくようです。

public class JavaScriptReflection
{
    public static string Go(Type type)
    {
        if (!type.IsEnum) return;

        StringBuilder sb = new StringBuilder();
        sb.AppendFormat("var {0} = {{ ", type.Name);

        foreach (FieldInfo fInfo in 
            type.GetFields(BindingFlags.Public | BindingFlags.Static))

            sb.AppendFormat("{0}:{1},\r\n", 
                fInfo.Name,
                fInfo.GetRawConstantValue().ToString());

        sb.Append("};");
        return sb.toString();
    }
}
4

2 に答える 2

1

Script#は調査すべきことの1つです。

于 2009-07-28T20:49:59.670 に答える
0

最近、出力アセンブリ ファイルでリフレクションを使用してコードを生成することに成功しました。

ビルド後のプロセスから呼び出すことができるコンソール アプリで、次のようなものを使用してみてください。

Assembly assembly = Assembly.LoadFile("FileName");
Type myEnumType = assembly.GetType("EnumName");
foreach(MemberInfo mi in myEnumType.GetMembers().Where(m => m.MemberType == MemberTypes.Field))
        Console.WriteLine(mi.Name);
于 2009-07-28T20:39:43.653 に答える