.NetCLR如何在内部实现“接口”?只是好奇.NETCLR如何在内部处理接口?Q1]当CLR遇到如下情况时会发生什么:简单的接口示例。(下同)interfaceISampleInterface{voidSampleMethod();}classImplementationClass:ISampleInterface{//显式接口成员实现:publicvoidSampleMethod(){//方法实现。}staticvoidMain(){//声明一个接口实例。ISampleInterfacemySampleIntobj=newImplementationClass();//(A)//调用成员。我的样本输入对象。采样方法();//声明一个接口实例。ImplementationClassmyClassObj=newImplementationClass();//(B)//调用member.myClassObj.SampleMethod();Q2:在上面的例子中,如何区分(A)和(B)?问题3:通用接口的处理方式是否不同?(在问这些基本问题时感觉自己像个菜鸟......无论如何......)大家好。这些代码没有什么区别。两者最终都调用了相同的函数。通过类类型调用方法可能有一些性能优势。如果您想了解这些东西是如何实现的,请查看虚拟方法表。有关更深入的信息,请参阅此。在创建对象引用时使用接口被认为比直接使用类类型进行实例化更好。这是违反接口原则的编程。这意味着您可以使用依赖注入之类的东西来更改在运行时实现相同接口的具体类,甚至是反射。与针对具体类型编程相比,针对接口编程无需更改代码。以上是C#学习教程:.NetCLR内部如何实现“接口”?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
