flu*_*ter 5 c# xaml xamarin xamarin.forms
当将标记扩展名的参数传递x:Arguments给docs指定的非默认构造函数时,我可以看到使用诸如x:Int32或的具体数据类型x:String,但是的用例是x:Object什么?而且,要使用它,应在标签之间放置什么?<x:Object> ??? </x:Object>
对于整数或字符串,很自然地将它们视为变量分配,然后将变量传递给构造函数。但是对于而言Object,这样的变量通常是由另一个用户定义的类构造的,那么如何指定要创建的类呢?
从技术上讲,您可以x:Object作为构造函数参数传递。x:Object对应于System.Object有默认构造函数。所以如果你有
public class MyClass {
public MyClass(object arg) {
}
}
Run Code Online (Sandbox Code Playgroud)
你可以这样构造它:
<my:MyClass>
<x:Arguments>
<x:Object />
</x:Arguments>
</my:MyClass>
Run Code Online (Sandbox Code Playgroud)
但这不太有用,因为它对应于
new MyClass(new object());
Run Code Online (Sandbox Code Playgroud)
由于Object没有任何其他构造函数 - 您无法以任何其他有意义的方式构造它。因此,当构造函数需要对象类型的参数时 - 您不想使用x:Object而是实际类型:
<my:MyClass>
<x:Arguments>
<x:String>string</x:String>
</x:Arguments>
</my:MyClass>
Run Code Online (Sandbox Code Playgroud)
这对应于
new MyClass("string");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
690 次 |
| 最近记录: |