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

本文关键字:属性 何重用 相似 | 更新日期: 2023-09-27 18:31:40

我想知道在 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 个表,并且都拥有这些LastUpdatedByLastUpdatedOn列。

在代码中,在每个类中创建这些列的属性是否正确,或者有没有办法,我可以概括这些属性并在每个类中利用它们?如果是这样,一个例子将不胜感激。

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

简单地重命名ProjectIdClientId Id并使用基本抽象类

abstract class ClassBase
{
     protected Guid Id {get; set;}
     protected Guid LastUpdatedBy {get; set;}
     protected DateTime LastUpdatedOn {get; set;}
}

然后:

class Client : ClassBase
{
}
class Project : ClassBase
{
}

这就是继承的用途:

public class BaseEntity
{
  Guid LastUpdatedBy {get; set;}  
  DateTime LastUpdatedOn {get; set;}
}
public class Client: BaseEntity
{
  Guid ClientId {get; set;}    
}