簡體   English   中英

如何在Silverlight 4和XAML中使用具有泛型的F#類型?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM