你能对下面的实现提供建议吗?
我正在尝试实现一种从Class1.Process()
调用Class2.Save()
方法的通用方法。
class Program
{
static void Main(string[] args)
{
IClass2 c2= new Class2();
Class1 c1 = new Class1(c2);
c1.Process<Student>(new Student());
}
}
public interface IClass1 {
bool Process<T>(T t) where T : new();
}
public class Class1 : IClass1
{
IClass2 _repo;
public Class1(IClass2 repo)
{
_repo = repo;
}
public bool Process<T>(T t) where T : new()
{
_repo.Save (t);
return true;
}
}
public interface IClass2 {
void Save(Student e);
void Save(Teacher e);
}
public class Class2 : IClass2
{
public void Save(Student e)
{
return;
}
public void Save(Teacher e)
{
return;
}
}
public class Student { }
public class Teacher { }
我不喜欢使用反射或投射。有没有人可以帮助解决这个问题,或者提出替代方法。
https://stackoverflow.com/questions/56434564
复制相似问题