【发布时间】:2022-07-16 02:14:47
【问题描述】:
我知道我以前做过,但我找不到以前的参考资料。 如果我有这样定义的类:
namespace MyNamespace1 {
public class MyClass {}
}
然后是一个扩展方法和一些其他静态方法,定义如下:
namespace MyNamespace2 {
public static class MyClassExt {
public static string GetExtVal(this MyClass myClass) => "an extension val";
public static string GetStaticVal(bool arg) => "a static val";
}
}
我知道我可以通过首先添加对命名空间的引用来绑定到静态函数
xmlns:ns1="using:Namespace1"
xmlns:ns2="using:Namespace2"
然后这样称呼它
<DataTemplate x:DataType="ns1:MyClass">
<TextBlock Text="{x:Bind ns2:MyClassExt.GetStaticVal(x:True)}" />
</DataTemplate>
但是,我怎样才能绑定到扩展方法呢?
我试过了:
<DataTemplate x:DataType="ns1:MyClass">
<TextBlock Text="{x:Bind ns2:MyClassExt.GetExtVal(ns1:MyClass)}" />
</DataTemplate>
还有这个
<DataTemplate x:DataType="ns1:MyClass">
<TextBlock Text="{x:Bind ns2:MyClassExt.GetExtVal()}" />
</DataTemplate>
但是这些都不会编译。
【问题讨论】: