日期:2014-05-18  浏览次数:20775 次

求正则 重载事件方法代码..
有很多这样的事件方法需要重载.并且引发父级的原事件.
例如:

C# code
protected virtual void OnTitleReceived(object sender, ReceiveTitleEventArgs e);

重载变成:
C# code
      protected override void OnTitleReceived(object sender, ReceiveTitleEventArgs e)
      {
          base.OnTitleReceived(sender, e);
      }



其中访问修饰符protected可能变.
事件方法名OnTitleReceived可能变.
object sender 这个参数可能没有.
ReceiveTitleEventArgs 这个可能变.

因为有很多这样的代码.所以想用正则批处理下.谢谢大神

------解决方案--------------------
用什么正则,在vs中批量替换不就完了
------解决方案--------------------
重载和重写都分不清楚
------解决方案--------------------
C# code
Regex reg=new Regex(@"(?i)(public|protected)\svirtual\s(void)\s(\w+)\(((\w+)\s(\w+),\s\w+\s(\w+))?\);");

yourstr=reg.Replace(yourstr,"$1 override $2 $3($4)\r\n{\r\nbase.$3($6,$7)\r\n}");