【问题标题】:C# Technique - Getting Constant Values By StringC# 技术 - 通过字符串获取常量值
【发布时间】:2008-11-24 22:18:44
【问题描述】:

有没有什么好的方法可以将“xlSum”、“xlAverage”和“xlCount”等字符串转换为它们在 Microsoft.Office.Interop.Excel.XlConsolidationFunction 下的值?

我猜反射会很慢(如果可能的话)。这些常数值大约有 10 个。如果可能,我试图避免使用大的 switch 语句。

【问题讨论】:

    标签: c# .net excel vsto constants


    【解决方案1】:

    这是一个枚举,所以你应该可以使用

    using Microsoft.Office.Interop.Excel;
    
    XlConslidationFunction func = (XlConsolidationFunction)
                                   Enum.Parse( typeof(XlConsolidationFunction),
                                               stringVal );
    

    【讨论】:

    • 你需要在 "=" 和 "Enum" 之间进行转换,但是 +1
    • 谢谢。我从不使用 as 语法,但我试图让它在帖子中更漂亮。
    • Enum.Parse() - 我想我以前从来没有偶然发现过这个。不错。
    【解决方案2】:

    您始终可以使用Dictionary<string, ...> 代替 switch,并在应用程序启动时填写一次

    【讨论】:

      猜你喜欢
      • 2010-11-13
      • 2020-10-02
      • 1970-01-01
      • 2013-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 2013-09-13
      相关资源
      最近更新 更多