- Cengiz Han / Ağustos 24, 2005
Görülen lüzum üzerine az evvel AslanParcasi 'nin C# versiyonunu yazdım. Dileyen buyursun kullansın.
Imports EnvDTE
Imports System.Diagnostics
Imports System.Text.RegularExpressions
Public Module AslanParcasiCS
Public Sub Encapsulate()
Dim PropertyCode As String = "public ${VeriTuru} ${Degisken} " & ControlChars.CrLf & " {" & ControlChars.CrLf & "get { return ${OnEk}${Degisken}; }" & ControlChars.CrLf & "set { ${OnEk}${Degisken} = value; }" & ControlChars.CrLf & "}"
Dim YerelDegiskenCode As String = "private ${VeriTuru} ${OnEk}${Degisken};"
Dim RegExpression As String = "(private\s+)+(?<VeriTuru>.+)\s+(?<OnEk>_)(?<Degisken>\w+).*;"
Dim SeciliBolge As TextSelection = CType(DTE.ActiveDocument.Selection, TextSelection)
Dim SelectedText As String = SeciliBolge.Text
Dim YerelDegiskenString As String = Regex.Replace(SelectedText, RegExpression, YerelDegiskenCode)
Dim PropertyString As String = Regex.Replace(SelectedText, RegExpression, PropertyCode)
SeciliBolge.Delete()
SeciliBolge.Insert(YerelDegiskenString & ControlChars.CrLf & PropertyString, vsInsertFlags.vsInsertFlagsInsertAtStart)
DTE.UndoContext.Open("Encapsulation Macro")
SeciliBolge.TopPoint.CreateEditPoint.SmartFormat(SeciliBolge.BottomPoint)
End Sub
End Module
AslanParcasiCS1.txt (2,44 KB)