我对元编程很陌生,特别是在C#中,所以我正在寻找有关如何实现以下内容的好指示。我们从这些方法开始:
public JObject x(int a)
public JObject y(int b)
现在,我需要为此文件中的所有方法添加可选参数,同时保持向后兼容性。因此,为了满足最后的要求,我需要为每个人创建新的方法:
public JObject x(int a)
public JObject y(int b)
public JObject x(int a, int o = defaultValue)
public JObject y(int b, int o = defaultValue)
现在,问题是我有50多种这样的方法,如果可能的话,我想避免复制粘贴的东西。我对元编程没有太多经验,所以我的问题是:
提前致谢!
答案 0 :(得分:0)
脚本可能是我能想到的最佳选择。
虽然问题本身给我带来了代码味道。可选参数本身我觉得很烦人,因为它们倾向于导致大而复杂的方法,如果没有。同样使用可选参数意味着您可以保持向后兼容性,将它们添加到现有方法调用中。
我认为应该考虑一个更大的设计问题,需要在可选参数中添加50多个重载。
答案 1 :(得分:-1)
Visual Studio搜索和替换支持RegEx搜索,您可以在替换中使用匹配,这可能是最佳选择。