你能为C#中的函数获得类似C #define的东西吗?

时间:2014-04-08 14:56:22

标签: c# c macros

我有一个代码问题,我可以通过使用旧的C宏#defines来解决。然而,C#不支持这种#defines。有没有办法用另一种技巧解决我的问题?

在多个类和多个方法中,我有这个代码:

MyLanguageClass.Instance.GetText("download_id", 
    this.GetType(), 
    System.Reflection.MethodBase.GetCurrentMethod());

(MyLanguageClass是我编写的代码。)所以我使用类类型和当前方法作为id的一部分来获取字符串。 (并且字符串在程序的另一部分中被定义和填充,但是对于这个问题,这些不是重要的细节。)但GetType和GetCurrentMethod总是相同的,因此我希望它们被#define取代像C中的宏。另一方面,我不能在函数中放置一些东西,就像在其他情况下你可能会使用C-macro定义的假冒'函数,因为我想在代码中使用当前类和当前方法的位置,在那里我调用GetText。原则上,我的函数的所有用户都应该键入:

MyLanguageClass.Instance.GetText("download_id", "use classtype and current method as part of the id");

使用该功能的程序员不必担心使用的反射细节,等等。有什么想法吗?

0 个答案:

没有答案