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

时间:2013-09-18 09:26:29

标签: c# class properties

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

我有一个Table Client

ClientId
LastUpdatedBy
LastUpdatedOn

所以我创建了一个具有属性的类

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

同样,我有一个表项目

ProjectId 
LastUpdatedBy   
LastUpdatedOn

所以我创建了一个具有属性的Project类:

class Project
{     
    Guid ProjectId {get; set;}    
    Guid LastUpdatedBy {get; set;}  
    DateTime LastUpdatedOn {get; set;}
}

同样,我还有大约100个表,并且所有人都拥有这些LastUpdatedByLastUpdatedOn列。

在代码中,在每个类中创建这些列的属性是正确的还是有办法,我可以概括这些属性并在每个类中使用它们?如果是这样,一个例子将受到高度赞赏。

2 个答案:

答案 0 :(得分:4)

只需重命名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
{
}

答案 1 :(得分:3)

这就是继承的目的:

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

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