c# - -:如何将对象强制转换为其实现的接口

我想将对象转换为其实现的接口,但还是有问题。


public class A : IA


{


 public void Do() { }


}



public interface IA


{


 void Do();


}



void ConvertType(object s)


{


 var interface = s.GetType().GetInterfaces().FirstOrDefault(); // if s is of type A then interface is IA


 var s = Convert.ChangeType(instance, type);


}



我得到例外:

Object must implement IConvertible. at System.Convert.ChangeType

有没有更好的方法将对象转换为其实现的接口?

时间:

你可以像这样:


IA instanceCasted = (IA) instance;



或者,如果不想将它存储到变量中,可以执行以下操作:


((IA)instance).DoYourMethod();



...