C# 如何重用相似但不同的类属性

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

我想知道在C#NET中处理以下情况的最佳实践:

我有一个桌面客户

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设计模式是我的一些最爱)是的,使用公共基类共享公共属性并避免重复。是的,使用公共基类共享公共属性并避免重复。