ID: 2002 - Ejemplo de una clase genérica ( Generics ) con DAO
Posted by layonman98 on Fri Feb 26 15:01:21 UTC 2010. Language csharp

using System.Collections.Generic;

// Model
public class User
{
  public string Name { get; set; }
  pubilc int    Age  { get; set; }
  
  public User( string name, int age )
  {
    this.Name = name;
    this.Age  = age; 
  }
}

// Generic Data Access Object which is inherited
// and will have abstract CRUD methods
public abstract class GenericDAO<T>
{
  protected abstract void Create( T obj );
  protected abstract T Read( int id );
  protected abstract void Update( T obj );
  protected abstract void Delete( int id );
}

public class UserDAO : GenericDAO<User>
{
  public UserDAO()
  {}
  
  // Base class abstract methods implementation

  public override void Create( User obj )
  { ...  }

  public override User Read( int id )
  { ... }

  public override void Update( User obj )
  { ... }

  public override void Delete( int id )
  { ... }
}

// Enjoy (:
// Carlos León