C# 如何重用相似但不同的类属性
我想知道在C#NET中处理以下情况的最佳实践: 我有一个桌面客户C# 如何重用相似但不同的类属性,c#,class,properties,C#,Class,Properties,我想知道在C#NET中处理以下情况的最佳实践: 我有一个桌面客户 ClientId LastUpdatedBy LastUpdatedOn 所以我创建了一个具有属性的类 class Client { Guid ClientId {get; set;} Guid LastUpdatedBy {get; set;} DateTime LastUpdatedOn {get; set;} } 类似地,我有一个表项目 ProjectId LastUpd
ClientId
LastUpdatedBy
LastUpdatedOn
所以我创建了一个具有属性的类
class Client
{
Guid ClientId {get; set;}
Guid LastUpdatedBy {get; set;}
DateTime LastUpdatedOn {get; set;}
}
类似地,我有一个表项目
ProjectId
LastUpdatedBy
LastUpdatedOn
因此,我创建了一个具有以下属性的项目类:
class Project
{
Guid ProjectId {get; set;}
Guid LastUpdatedBy {get; set;}
DateTime LastUpdatedOn {get; set;}
}
同样,我还有大约100个表,所有表都有lastdupdatedby
和lastdupdatedon
列
在代码中,在每个类中创建这些列的属性是正确的,还是有一种方法可以概括这些属性并利用每个类中的属性?如果是这样,请举个例子。这就是继承的意义:
public class BaseEntity
{
Guid LastUpdatedBy {get; set;}
DateTime LastUpdatedOn {get; set;}
}
public class Client: BaseEntity
{
Guid ClientId {get; set;}
}
这就是继承的意义:
public class BaseEntity
{
Guid LastUpdatedBy {get; set;}
DateTime LastUpdatedOn {get; set;}
}
public class Client: BaseEntity
{
Guid ClientId {get; set;}
}
我们只需重命名
ProjectId
和ClientId
Id
,并使用一个基本抽象类
abstract class ClassBase
{
protected Guid Id {get; set;}
protected Guid LastUpdatedBy {get; set;}
protected DateTime LastUpdatedOn {get; set;}
}
然后:
我们只需重命名
ProjectId
和ClientId
Id
,并使用一个基本抽象类
abstract class ClassBase
{
protected Guid Id {get; set;}
protected Guid LastUpdatedBy {get; set;}
protected DateTime LastUpdatedOn {get; set;}
}
然后:
我感谢您及时的回复,也理解继承的意义!!我正在寻找建议,想知道什么对我的处境有利。所以你建议我创建一个泛型类,所有类都必须从中继承。对吧?简而言之,是的。我还建议买一些关于面向对象设计的好书。(CLR via C#,Essential C#,Clean Code,Head First设计模式是我的一些最爱)感谢您及时的回复,也理解了继承的意义!!我正在寻找建议,想知道什么对我的处境有利。所以你建议我创建一个泛型类,所有类都必须从中继承。对吧?简而言之,是的。我还建议买一些关于面向对象设计的好书。(CLR via C#、Essential C#、Clean Code、Head First设计模式是我的一些最爱)是的,使用公共基类共享公共属性并避免重复。是的,使用公共基类共享公共属性并避免重复。