请帮我解析以下C#方法声明中的内容:作用域、是否静态、名称、返回类型以及参数列表及其类型。例如给定如下方法声明:
public static SomeReturnType GetSomething(string param1, int param2)
等等,我需要能够解析它并获取上面的信息。 在这种情况下,
- 名称=“GetSomething”
- 范围=“public”
- isStatic = true
- returnType =“SomeReturnType”
然后是参数类型和名称对的数组。
哦,几乎忘记了最重要的部分。 它必须考虑所有其他作用域(protected,private,internal,protected internal),缺少“static”,void返回类型等。
请注意,反射不是解决方案。 我需要正则表达式。
到目前为止,我有这两个:
(?:(?:public)|(?:private)|(?:protected)|(?:internal)|(?:protected internal)\s+)*
(?:(?:static)\s+)*
我想对于问题的其余部分,我可以只使用字符串操作而不需要正则表达式。
/* public */ void foo()
的方法不是公共的,对吧?你确定你还想使用正则表达式吗?如果你确实想使用,我可以帮助你,但你必须提供更多关于你的限制的细节,因为使用正则表达式解析 完整的 C# 方法声明是绝对不可能的,正如许多人已经告诉过你的那样。 - Igor Korkhovpublic void @static(bool @private)
? - kvb