我有一个代码问题,我可以通过使用旧的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");
使用该功能的程序员不必担心使用的反射细节,等等。有什么想法吗?