一段生成属性的宏。

执行此宏后会弹出一个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.gif ContractedBlock.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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值