Visual Studio 2008类图创建空属性,而不是autoproperties

时间:2009-12-21 22:35:10

标签: c# visual-studio visual-studio-2008 code-generation class-diagram

我在Visual Studio 2008中使用类图来创建一些具有属性的类。我注意到当我在类图中创建一个新属性时,它出现在这样的代码中:

public DateTime DateBilled
{
    get
    {
        throw new System.NotImplementedException();
    }
    set
    {
    }
}

呸。我更倾向于最终成为像这样的autoproperty:

public DateTime DateBilled { get; set; }

有什么方法可以改变或自定义吗?

1 个答案:

答案 0 :(得分:1)

这不是您正在寻找的,但它可能会让您接近您需要的结果。

这是一个Visual Studio 2008宏,它将找到生成的类图获取属性并将其替换为自动属性。

  1. 在VS中转到视图 - >其他Windows - >宏资源管理器
  2. 右键单击“MyMacros”并选择“New module ...”
  3. 给它任何你想要的名字
  4. 右键单击并选择“新建宏”
  5. 将此代码粘贴到
  6. 以下是代码:

    DTE.ExecuteCommand("Edit.Find")
    DTE.Find.PatternSyntax = vsFindPatternSyntax.vsFindPatternSyntaxRegExpr
    DTE.Find.Target = vsFindTarget.vsFindTargetCurrentDocument
    DTE.Find.FindWhat = "<get$"
    DTE.Find.MatchCase = False
    DTE.Find.MatchWholeWord = False
    DTE.Find.Backwards = False
    DTE.Find.MatchInHiddenText = True
    DTE.Find.Action = vsFindAction.vsFindActionFind
    While DTE.Find.Execute() <> vsFindResult.vsFindResultNotFound
        DTE.ActiveDocument.Selection.LineDown(True, 6)
        DTE.ExecuteCommand("Edit.Delete")
        DTE.ActiveDocument.Selection.Text = "get; set;"
    End While
    

    这几乎只是一个黑客,我不确定它是否适用于类设计器的所有输出,但它在我的测试中工作到目前为止,它肯定会节省一些击键。

    希望它有所帮助!