c#中的早期绑定和后期绑定是什么意思

  介绍

小编给大家分享一下c#中的早期绑定和后期绑定是什么意思,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

早期绑定也称静态绑定,是指编译时绑定;早期绑定对象基本上是强类型对象或静态类型对象。

早期绑定在编译期间识别并检查方法,属性,函数,并在应用程序执行之前执行其他优化。在这个绑定中,编译器已经知道它是什么类型的对象以及它拥有的方法或属性。

<强>早期绑定的优点

1、性能很快

2,易于编码,开发

3,减少了运行时错误的数量

<强>示例:

使用系统;      阶级{//数据成员   公共字符串名称;   公共字符串对象;//公共方法   公共空间细节(字符串名称,字符串对象)   {   this.name=名称;   这一点。主题=主题;   Console.WriteLine(“我的名字是:“+名字);   Console.WriteLine(“我最喜欢的科目是:“+主题);   }   }      类GFG {//主方法   静态void Main (string [] args)   {//创建人类的对象   人g=new ();//调用人类的方法   g.details (“Ankita"“c#“);//调用“myMethod()时出的错//因为这个方法不属类于人,或者编译器在编译时不知道mymethod ()   g.mymethod ();   }   }

编译时发生错误:

 C #中的早期绑定和后期绑定是什么意思

<强>说明:在上面的示例中,我们有一个名为人们的类。该类包含细节()方法。这里,编译器已经知道人们中存在的属性和方法。但是当我们尝试调用mymethod()时,它会抛出一个错误,因为编译器不知道这个方法。

<强>

后期绑定也称动态绑定。在后期绑定中,编译器不知道它是什么类型的对象以及它拥有的方法或属性,这里的对象是动态对象。对象的类型是根据它在运行时在右侧保存的数据来确定的。基本上,是通过使用虚拟方法来实现后期绑定。

后期绑定的最大优点是这种类型的对象可以保存对任何对象的引用,但缺少早期绑定对象的许多优点。比如:后期绑定的性能比早期绑定慢,因为它需要在运行时进行查找。

<强>示例:

使用系统;      类GFG {   静态void Main ()   {//动态对象   动态obj=4;   动态其中obj1=5.678;//显示对象的类型   Console.WriteLine(“对象类型为:“);//使用方法()方法来获取类型   Console.WriteLine (obj.GetType ());   Console.WriteLine (obj1.GetType ());   }   }

输出:

 C #中的早期绑定和后期绑定是什么意思

<强>说明:

在上面的示例中,obj保存整数类型数据,其中obj1保存双类型数据。但是编译器不会在编译时解决这些问题。在运行时,这些动态对象分别被检测并转换为System.Int32和系统。翻倍。这就是为什么运行时解析过程被称为后期绑定的原因。

看完了这篇文章,相信你对c#中的早期绑定和后期绑定是什么意思有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

c#中的早期绑定和后期绑定是什么意思