所有类的主接口

时间:2014-12-10 18:14:21

标签: c# inheritance interface

我想为将继承此接口的所有类创建一个具有默认方法(Save,Update,Delete,Select,SelectByID)的接口。如何在接口中创建一个可以接受带对象的任何类名的方法?

interface IMasterActions
{
    int Save(Class_Name obj);

    int Update(Class_Name obj);
}


public class Student
{
    public int RollNo{get;set;}
    public String Name{get;set;}
}


public class Book
{
    public String Author{get; set;}
    public decimal Price{get; set;}
}


public class StudentManager:ImasterActions
{
     public int Save(Student std)
     {
         ........
     }
}


public class BookManager:IMasterActions
{
    public int Save(Book book)
    {
        .............
    }
}

2 个答案:

答案 0 :(得分:4)

您应该使用泛型来实现接口实现的动态特性。您的界面和实现将定义如下:

public interface IMasterActions<T> where T : class
{
    int Save(T obj);

    int Update(T obj);
}

public class StudentManager:IMasterActions<Student>
{
    public int Save(Student std)
    {
       ... .....
    }
}

答案 1 :(得分:0)

您可以使用泛型来实现此目的。

interface IMasterActions<T>
{
 int Save(T obj);

 int Update(T obj);
}

public class StudentManager:ImasterActions<Student>
{
  public int Save(Student std)
  {
   ........
  }
}

此处有更多详情:http://msdn.microsoft.com/en-us/library/kwtft8ak.aspx