一段生成属性的宏。

执行宏会弹出Form,在两个TextBox输入类型和名称,可在编辑区自动添加property。作者表示郁闷宏不能用C#写,并给出转载链接。

执行此宏后会弹出一个Form,在两个TextBox里输入类型和名称,会自动在编辑区中自动添加

None.gif        private int typeid;
None.gif
None.gif        
public int Typeid
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif            
get dot.gif{return this.typeid;}
ExpandedSubBlockStart.gifContractedSubBlock.gif            
set dot.gif{this.typeid = value;}
ExpandedBlockEnd.gif        }

这样的property,完整的宏如下,超级郁闷为什么宏不能用C#写cry_smile.gifhitwall.gif

ExpandedBlockStart.gifContractedBlock.gif    Sub PropertyGenerator()Sub PropertyGenerator()
InBlock.gif
InBlock.gif        
Dim form As Form
InBlock.gif
InBlock.gif        form 
= New Form
InBlock.gif
InBlock.gif        form.TopMost 
= True
InBlock.gif
InBlock.gif        form.Controls.Add(
New TextBox)
InBlock.gif        form.Controls.Add(
New TextBox)
InBlock.gif
InBlock.gif        form.Controls(
0).Text = "type"
InBlock.gif
        form.Controls(1).Text = "name"
InBlock.gif
        form.Controls(0).Dock = DockStyle.Bottom
InBlock.gif        form.Controls(
1).Dock = DockStyle.Bottom
InBlock.gif
InBlock.gif        form.ShowDialog()
InBlock.gif
InBlock.gif        
Dim type As String
InBlock.gif        
Dim name As String
InBlock.gif        
Dim capitaledName As String
InBlock.gif
InBlock.gif        type 
= form.Controls(0).Text
InBlock.gif        name 
= form.Controls(1).Text
InBlock.gif        capitaledName 
= Char.ToUpper(name.Chars(0)) & name.Substring(1)
InBlock.gif
InBlock.gif        form 
= Nothing
InBlock.gif
InBlock.gif        DTE.ActiveDocument.Selection.Text 
= "private " & type & " " & name & ";"
InBlock.gif
        DTE.ActiveDocument.Selection.NewLine()
InBlock.gif        DTE.ActiveDocument.Selection.NewLine()
InBlock.gif        DTE.ActiveDocument.Selection.Text 
= "public " & type & " " & capitaledName & ""
InBlock.gif
        DTE.ActiveDocument.Selection.NewLine()
InBlock.gif        DTE.ActiveDocument.Selection.Text 
= "{"
InBlock.gif
        DTE.ActiveDocument.Selection.NewLine()
InBlock.gif        DTE.ActiveDocument.Selection.Text 
= "get {return this." & name & ";}"
InBlock.gif
        DTE.ActiveDocument.Selection.NewLine()
InBlock.gif        DTE.ActiveDocument.Selection.Text 
= "set {this." & name & " = value;}"
InBlock.gif
        DTE.ActiveDocument.Selection.NewLine()
InBlock.gif        DTE.ActiveDocument.Selection.Text 
= "}"
InBlock.gif
        DTE.ActiveDocument.Selection.NewLine()
InBlock.gif
ExpandedBlockEnd.gif    
End Sub


None.gif        Dim line As String
None.gif
None.gif        
With DTE.ActiveDocument.Selection
None.gif            line 
= .Text
None.gif        
End With
None.gif
None.gif        
Dim parts As String()
None.gif
None.gif        parts 
= line.Split(" ")
None.gif
None.gif        
If Not parts.Length = 3 Then
None.gif            
Exit Sub
None.gif        
End If
None.gif
None.gif        
Dim type As String
None.gif        
Dim name As String
None.gif        
Dim capitaledName As String
None.gif
None.gif        type 
= parts(1)
None.gif        name 
= parts(2).Replace(";""")
None.gif        capitaledName 
= Char.ToUpper(name.Chars(0)) & name.Substring(1)
None.gif
None.gif        DTE.ActiveDocument.Selection.Text 
= "private " & type & " " & name & ";"
None.gif
        DTE.ActiveDocument.Selection.NewLine()
None.gif        DTE.ActiveDocument.Selection.NewLine()
None.gif        DTE.ActiveDocument.Selection.Text 
= "public " & type & " " & capitaledName & ""
None.gif
        DTE.ActiveDocument.Selection.NewLine()
None.gif        DTE.ActiveDocument.Selection.Text 
= "{"
None.gif
        DTE.ActiveDocument.Selection.NewLine()
None.gif        DTE.ActiveDocument.Selection.Text 
= "get {return this." & name & ";}"
None.gif
        DTE.ActiveDocument.Selection.NewLine()
None.gif        DTE.ActiveDocument.Selection.Text 
= "set {this." & name & " = value;}"
None.gif
        DTE.ActiveDocument.Selection.NewLine()
None.gif        DTE.ActiveDocument.Selection.Text 
= "}"
None.gif
        DTE.ActiveDocument.Selection.NewLine()
None.gif

转载于:https://www.cnblogs.com/runmin/archive/2004/10/10/50502.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值