[英]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.