问题  点表示法

Tomuks69.

新成员
加入
2月22日,2021年
消息
2
编程经验
1-3
我想知道这条线代码是如何工作的:
Sample:
var a = x.Equals(y) returns true

Isnt it like x is being passed as variable something like:

a = EqualsCustom(x, y)
Public bool EqualsCustom = {
//Some comparison code..
}
我只是想知道这个点符号是如何寻求的,而不是访问一些成员?
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,903
地点
切萨皮克,va.
编程经验
10+
是的,如果你看着这是一个古老的C程序员。但在现代对象面向眼睛,没有。
 

约翰

C#论坛主持人
工作人员
加入
2011年4月23日
消息
1,161
地点
挪威
编程经验
10+
点表示法访问/调用类型类型或实例的成员。这里'x'是类型的实例,并且该类型定义了等于方法,因此“X”对象可以调用它。

Equals method is actually defined in type object that is the base type for all types, inherited types can override this method for more specialized comparison.
 

Tomuks69.

新成员
加入
2月22日,2021年
消息
2
编程经验
1-3
假设我有一个属性x = 1的类。创建此类时,它也会从对象基类继承。此基类包含ToString()方法。为什么这个ToString()方法通过像x.ToString()的点,不像ToString(x);

喜欢如何将该属性带入ToString()方法
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,903
地点
切萨皮克,va.
编程经验
10+
Actually, the base ToString() knows nothing about x property.
 

约翰

C#论坛主持人
工作人员
加入
2011年4月23日
消息
1,161
地点
挪威
编程经验
10+
它们不是独立的静态方法,它们属于对象实例。即使对于静态方法,您将按类型符合Quotify,因为这些成员属于类型,例如Int.troparse(args)
类 - C#语言规范
 

约翰

C#论坛主持人
工作人员
加入
2011年4月23日
消息
1,161
地点
挪威
编程经验
10+
您可以将其进行比较来调用方法或使用您没有符合对象的类中的字段/属性,但这也是合格的速记 对象,例如this.amethod()或this.aproperty。
 
最佳 底部