我使用xsd.exe工具根据我的xml架构生成一个类.它使用DebuggerStepThroughAttribute创建了一个公共部分类.好吧,我为这个类创建了另一个部分类文件来编写我的自定义代码,并希望能够逐步使用我编写的代码,但看起来调试器也将步进属性应用于我的部分类.我是否有一种简单的方法可以逐步进入我的代码,而无需在每次重新生成分部类时手动删除属性?
我目前有一个多个项目的解决方案,大多使用相同的类.因此,在我看来,在解决方案中添加包含这些类的类库是一个好主意,而不是在每个项目中重复该类.
但是,我所拥有的一个项目需要一些特定于该项目的类的附加属性,并且不会在其他任何地方使用.结果,我认为我应该使用部分类来添加这些属性.所以我做了类似这样的事情:
在类库中:
namespace MyClassLibrary
{
public partial class Book
{
public string Title { get; set; }
public string AuthorLast { get; set; }
public string AuthorFirst { get; set; }
public string Publisher { get; set; }
public string Edition { get; set; }
public string ISBN10 { get; set; }
public string ISBN13 { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
在项目中(MyProject):
namespace MyClassLibrary
{
public partial class Book
{
public string AdditionalProperty { get; set; }
}
} …Run Code Online (Sandbox Code Playgroud) 在webforms/winforms生成的代码场景之外是否有很好的使用部分类?或者这个功能基本上是支持吗?
我有一个WinForm项目,其中包含一个名为MainUI的表单.您可以看到自动生成的分部类显示为下的节点MainUI.cs.有没有办法"移动"我自己创建的部分类MainUI.Other.cs,MainUI.cs以便它将显示为另一个节点?
在C#.net中,有一个规则,它有两个不同的类文件,并使用关键字partial关键字使它们成为一个单独的类.这有助于它保持[for ex] UI和逻辑分离.当然,我们可以有两个类来实现UI和其他逻辑.这可以在java中实现一些怎么样?
我问这个是因为我发现分发类定义是一个非常危险的特性,所以你不能确定你是否知道它的全部内容.即使我找到三个部分定义,我怎么知道某个地方没有第四个?
我是C#的新手但是已经花了10年时间使用C++,也许这就是为什么我被动摇了?
无论如何,"部分"概念必须有一些很大的好处,我显然不知道.我想更多地了解它背后的哲学.
编辑:对不起,在搜索现有帖子时错过了这个副本.
如何获取我在项目中使用的alle域类列表?有点像GORM.domains.list().
我有一个自动生成的类,上面有一个属性.我想在另一个相同类型的部分类中向该属性添加一些数据注释.我该怎么办?
namespace MyApp.BusinessObjects
{
[DataContract(IsReference = true)]
public partial class SomeClass: IObjectWithChangeTracker, INotifyPropertyChanged
{
[DataMember]
public string Name
{
get { return _name; }
set
{
if (_name != value)
{
_name = value;
OnPropertyChanged("Name");
}
}
}
private string _name;
}
}
Run Code Online (Sandbox Code Playgroud)
在另一个文件中我有:
namespace MyApp.BusinessObjects
{
public partial class SomeClass
{
private SomeClass()
{
}
[Required]
public string Name{ get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
目前,我收到一条错误,指出name属性已存在.
如果我在C#中有部分类,文件名应该是什么?
该类被调用,partial class Logic并且将存在于两个或三个单独的文件中.