2009-07-28 45 views
1

我在.NET程序集中有一個標誌枚舉,它正從ASP.NET頁面調用。我想要一個Visual Studio生成步驟,生成一個.js文件,其中包含與JavaScript等效的文件。有沒有什麼工具可以做到這一點?將C#枚舉自動翻譯爲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(); 
    } 
} 
+1

。 :-) – Nosredna 2009-07-28 20:42:51

+0

我會+1你的編輯它是一個答案。對於UNIX程序來說,這似乎是正確的工具。 – Nenotlep 2012-09-17 14:00:14

回答

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);