[英]How can I use an F# type with generics in Silverlight 4 and XAML?
以下代码取F#:
type Blah<'T>(objects : 'T array) as this = // whatever
当我尝试在XAML文档中使用该类型时,没有与泛型参数关联的类型,并且它很难看。 我认为编译器也抱怨:
<ns:Blah foo="bar"/>
所以,我试着像这样的类型别名(在我的Blah.fs文件的底部):
type StuffBlah = Blah<Stuff>
然后,当我在XAML文档中以相同的方式使用它时,找不到存在的类型:
<ns:StuffBlah foo="bar"/>
这是为什么? 这样做有更清洁,更优雅的方式吗? 我仍然掌握Silverlight,XAML和F#,所以任何建议都会非常感激。 谢谢。
StuffBlah
版本不起作用的原因是F#语法的特定部分仅为F#项目创建类型别名而不是创建实际类型。 由于名称在IL级别上不可见为实际类型,因此Silverlight或XAML通常无法访问该名称。
解决这个问题的一种方法是将StuffBlah
创建为源自Stuff<'T>
的第一类类型。 根本不理想,但它会起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.