2014-10-28 57 views
0

我需要將以下C#代碼轉換爲F#。如何在下面的代碼中轉換new object[] {}如何在F#中編寫`new object [] {}`?

var table = (Hashtable) cookies.GetType().InvokeMember("m_domainTable", 
                 BindingFlags.NonPublic | 
                 BindingFlags.GetField | 
                 BindingFlags.Instance, 
                 null, 
                 cookies, 
                 new object[] { }); 

回答

3

使用[||]如果類型推斷不能由此推斷它正常,你可以隨時註釋類型:

... ,null ,cookies, [||] : obj []) 

但在這種特殊情況將不再需要的類型的註釋,因爲沒有衝突的重載:

let table = 
    cookies.GetType() 
     .InvokeMember("m_domainTable", 
      BindingFlags.NonPublic ||| 
      BindingFlags.GetField ||| 
      BindingFlags.Instance, 
      null, 
      cookies, 
      [||]) :?> Hashtable 
+0

值得注意的是,F#沒有匿名對象。 – 2014-10-28 19:20:57

+1

['Array.empty'](http://msdn.microsoft.com/zh-cn/library/ee353904.aspx)也可以使用(並很好地讀取)。 – Daniel 2014-10-28 19:31:14

相關問題