接口中的C#参数

接口中的C#参数,c#,interface,C#,Interface,那么,我应该在我的接口中使用什么来在我的示例中使用与测试中相同的参数呢 我想做的是: 我有三门课:a,b和c 我希望我的c继承自a和b 但C#不让你这么做。。。所以我想使用一个接口 编辑 我的课程是: 学生(姓名、年龄、学习) 教师(姓名、年龄、班级) 在职学生/教师(姓名、年龄、学习/班级、报酬) 因此,我想在我的工作类中使用其他类中的方法。您可以在接口中将它们作为属性公开 class Test { public Test(string name, string age) {

那么,我应该在我的接口中使用什么来在我的示例中使用与测试中相同的参数呢

我想做的是:

  • 我有三门课:
    a
    b
    c

  • 我希望我的
    c
    继承自
    a
    b

但C#不让你这么做。。。所以我想使用一个接口

编辑 我的课程是:

  • 学生(姓名、年龄、学习)
  • 教师(姓名、年龄、班级)
  • 在职学生/教师(姓名、年龄、学习/班级、报酬)

因此,我想在我的工作类中使用其他类中的方法。

您可以在接口中将它们作为属性公开

class Test {
    public Test(string name, string age) {
    }
}

interface ITest
        ????????

class Example: ITest {
    public Example(/* ... */) {
    }
}

接口无法定义构造函数。当然还有其他方法,这取决于您想要实现什么。

接口被用作继承它的类的契约。这意味着您希望接口公开的任何公共方法/属性也必须在继承的类中公开

在上述情况下,接口中没有公开任何公共方法/属性。让我给你举个例子

Interface ITest
{
string Name{get;set;}
string Age{get;set;}
}
接口测试
{
void AddPerson(字符串名称、字符串年龄);
}
接口IPerson
{
字符串returnPersonage(字符串名称);
}
///这必须公开AddPerson方法
///这还必须公开ReturnPersonByAge方法
课程示例:ITest,IPerson
{
字典人物=新字典();
void AddPerson(字符串名称、字符串年龄)
{
人员。添加(姓名、年龄);
}
string ReturnPersonsAge(字符串名称)
{
返回人[姓名];
}
}

我希望这会有所帮助,但请随意提问,这样我可以帮助缩小您的问题范围。

如果我使用公共测试(params string[]parameters),嘿,我想做的是:我有3个类->a、b和c,我希望我的c从a和b继承。但c#不让你这么做。。。所以我想使用一个接口。我想你不能从超过1个类继承??对不起,不允许多重继承,但你可以从多个接口继承,这略有不同。参见编辑。是的,我知道我必须使用interfaces=D Ty来回答你的问题,但你的问题很不清楚。
Interface ITest
{
   void AddPerson(string name, string age);
}

Interface IPerson
{
    string ReturnPersonsAge(string name);
}

/// This must expose the AddPerson method
/// This must also expose the ReturnPersonByAge method
class Example : ITest, IPerson
{
   Dictionary<string, string> people = new Dictionary<string, string>();

   void AddPerson(string name, string age)
   {
      people.Add(name, age);
   }

   string ReturnPersonsAge(string name)
   {
      return people[name];
   }
}
Interface IAClass
{
  void Add(string s);
}
Interface IBClass
{
  void Delete(string m);
}


Class A: IAClass
{
  void Add(string name)
{
  // Your Logic
}
}

Class B: IBClass
{
  void Delete(string name)
{
  // Your Logic
}
}

Class C:IAClass,IBClass
{
     void Add(string name)
{
  // Your Logic
}

 void Delete(string name)
{
  // Your Logic
}
}