C# Forms-Button.TextProperty.PropertyName和nameof(myButton.Text)之间的差异

C# Forms-Button.TextProperty.PropertyName和nameof(myButton.Text)之间的差异,c#,data-binding,xamarin.forms,nameof,C#,Data Binding,Xamarin.forms,Nameof,除了语法之外,以下两种语言之间是否有区别: Button.TextProperty.PropertyName //(Xamarin.Forms.BindableProperty.PropertyName) 及 除了个人偏好之外,是否有其他原因会优先选择其中一种?在实践中,它们的价值是相同的 nameof()是一个编译时值,而Button.TextProperty.PropertyName不一定是 Button.TextProperty是一个静态分配的对象,具有PropertyName属性 na

除了语法之外,以下两种语言之间是否有区别:

Button.TextProperty.PropertyName //(Xamarin.Forms.BindableProperty.PropertyName)


除了个人偏好之外,是否有其他原因会优先选择其中一种?

在实践中,它们的价值是相同的

nameof()是一个编译时值,而Button.TextProperty.PropertyName不一定是

Button.TextProperty是一个静态分配的对象,具有PropertyName属性


nameof()将被编译到源代码中,并且可能是更快的访问,具体取决于您的编译器优化。

实际上,它们的值相同

nameof()是一个编译时值,而Button.TextProperty.PropertyName不一定是

Button.TextProperty是一个静态分配的对象,具有PropertyName属性


nameof()将被编译到源代码中,并且可能是更快的访问,具体取决于您的编译器优化。

我要补充的是,
PropertyName
BindableObject
的一个属性,并且仅适用于此类型(创建BindableProperty时需要硬代码声明,因此它不一定是编译时的值)我要补充的是,
PropertyName
BindableObject
的一个属性,只对这种类型可用(在创建BindableProperty时,它是硬代码声明的,因此不一定是编译时值)
nameof(myButton.Text)