c# - Visual Studio 2008 类图创建空属性,而不是自动属性

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

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

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

哎呀。我宁愿它最终成为这样的自动属性(property):

public DateTime DateBilled { get; set; }

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

最佳答案

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

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

  1. 在 VS 中转到“查看”->“其他窗口”->“宏资源管理器”
  2. 右键单击“MyMacros”并选择“新建模块...”
  3. 给它取一个你喜欢的名字
  4. 右键单击它并选择“新建宏”
  5. 将这段代码粘贴到

代码如下:

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

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

希望对您有所帮助!

关于c# - Visual Studio 2008 类图创建空属性,而不是自动属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1943077/

相关文章:

android - 部署 Xamarin Forms Android 应用程序时内存不足

visual-studio - Visual Studio如何知道我的项目是最新的,因此可以跳过运行MSBuild?

c# - 为什么 FileSystemWatcher 检测不到来自 Visual Studio 的更改?

c# - 多个属性的 FluentValidation 规则

c# - Selenium WebDriver C# - 获取文本

c++ - 在包含 Eigen 类型的类上使用 ` Eigen::aligned_allocator` on `std::vector`

visual-studio-2008 - 从外部成员类访问 MFC 对话框元素

visual-studio-2008 - 在Visual Studio中输入报价时出现问题

c# - 在 C# 中嵌入资源

c# - Wpf MVVM在DataGrid中选择/取消选择项目