1

我在从 ASP.NET 页面调用的 .NET 程序集中有一个标志枚举。我想让 Visual Studio 构建步骤生成一个.js文件,其中包含等效的 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#是要调查的一件事。

于 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 回答