有可能让一个接口方法接受不同的c#类吗?

本文关键字:类吗 方法 接口 一个 有可能 | 更新日期: 2023-09-27 17:53:18

嗨,我想知道是否有任何好的方式没有过度使用接口方法,可以采取例如3个不同的模型?我在找这样的东西:

 public interface IOperations 
    {
        void AddTranslation(TranslationLocationEnum Location, T model)               
    }
 public class ApplicationOne : IOperations
   {
        public void AddTranslation(TranslationLocationEnum Location, ClassType1 model)     
   }
 public class ApplicationTwo : IOperations
   {
        public void AddTranslation(TranslationLocationEnum Location, ClassType2 model)     
   }

谢谢

有可能让一个接口方法接受不同的c#类吗?

public interface IOperations<T> where T : class
{
    void AddTranslation(TranslationLocationEnum Location, T model);
}
public class ApplicationOne : IOperations<ApplicationOne>
{
    public void AddTranslation(TranslationLocationEnum Location, ApplicationOne model)
    {
        throw new NotImplementedException();
    }
}
public class ApplicationTwo : IOperations<ApplicationTwo>
{
    public void AddTranslation(TranslationLocationEnum Location, ApplicationTwo model)
    {
        throw new NotImplementedException();
    }
}

使用泛型接口并在继承接口时传递类型。