C# 使用此类的某些参数的接口描述方法

C# 使用此类的某些参数的接口描述方法,c#,interface,C#,Interface,我有几个类实现了一种方法: class ClassA : BaseClass { void Copy(ClassA a) {} } class ClassB : BaseClass { void Copy(ClassB b) {} } 我想在界面中描述这些方法。有可能吗?您可以使用通用接口,例如如下所示 interface ICopy<T> { void Copy<T>(T t) } Class A: ICopy<A>,BaseCla

我有几个类实现了一种方法:

class ClassA : BaseClass
{
    void Copy(ClassA a) {}
}

class ClassB : BaseClass
{
    void Copy(ClassB b) {}
}

我想在界面中描述这些方法。有可能吗?

您可以使用
通用接口
,例如如下所示

interface ICopy<T>
{
  void Copy<T>(T t)
}

Class A: ICopy<A>,BaseClass//(if you need baseclass)
{
  public void Copy(A a)
  {}
}
Class B: ICopy<B>,BaseClass//(if you need baseclass)
{
  public void Copy(B b)
  {}
}

您可以使用
通用接口
,例如如下所示

interface ICopy<T>
{
  void Copy<T>(T t)
}

Class A: ICopy<A>,BaseClass//(if you need baseclass)
{
  public void Copy(A a)
  {}
}
Class B: ICopy<B>,BaseClass//(if you need baseclass)
{
  public void Copy(B b)
  {}
}

使用通用接口。使用
where
可以将类型参数
T
约束到
BaseClass
及其派生类型

interface Interface<T> where T : BaseClass 
{
    void Copy<T>(T t);
}

class ClassA : BaseClass, Interface<ClassA>
{
    public void Copy(ClassA b) {}
}

class ClassB : BaseClass, Interface<ClassB>
{
    public void Copy(ClassB b) {}
}
接口,其中T:BaseClass
{
无效副本(T);
}
ClassA类:基类,接口
{
公开作废副本(A类b){}
}
类B:基类,接口
{
公开作废副本(b类){}
}

使用通用接口。使用
where
可以将类型参数
T
约束到
BaseClass
及其派生类型

interface Interface<T> where T : BaseClass 
{
    void Copy<T>(T t);
}

class ClassA : BaseClass, Interface<ClassA>
{
    public void Copy(ClassA b) {}
}

class ClassB : BaseClass, Interface<ClassB>
{
    public void Copy(ClassB b) {}
}
接口,其中T:BaseClass
{
无效副本(T);
}
ClassA类:基类,接口
{
公开作废副本(A类b){}
}
类B:基类,接口
{
公开作废副本(b类){}
}

您的用例是什么?我的意思是,拥有一个界面对你有什么帮助?你的用例是什么?我是说,有一个界面对你有什么帮助?