2012-07-25 62 views
2

这件作品的下面的代码给我的警告:MonoTouch.Dialog:添加(System.Collections.Generic.IEnumerable <MonoTouch.Dialog.Element>)已过时 - 是否必须更改某些内容?

警告CS0618: MonoTouch.Dialog.Section.Add(System.Collections.Generic.IEnumerable<MonoTouch.Dialog.Element>)' is obsolete:请使用中的addAll,因为这个版本不会 未来MonoTouch的版本工作的时候,我们推出4.0协方差”

这是代码。我不明确地呼叫Add()aMyReviewElementsList<Element>(),我正在使用便捷初始值设定项。我是否必须调整我的代码(这将使整个便利无法使用),还是MT.Dialog内部需要更改?

... 
List<Element> aMyReviewElements = new List<Element>(); 

... 
new Section("My Reviews") 
{ 
    aMyReviewElements 
}, 
... 

回答

1

在C#,集合初始化需要一个名为Add方法,其在MD指的是this method(注意过时属性)。

它看起来好像MD家伙已经引入了一个新的Add方法与LINQ support。所以我的建议是留意警告并更新您的代码以使用LINQ,例如

List<Element> aMyReviewElements = new List<Element>(); 
... 
new Section("My Reviews") 
{ 
    from e in aMyReviewElement 
    select e 
}; 
+0

Hm @James,看起来像一个很好的答案,但在我的代码中已经有一个'from ... select ..'构造在Section初始化器中使用。不过,我仍然会得到与过时相同的编译器警告(Xamarin Studio v。4.2编译为iOS 7)。此外,您的Xamarin代码的链接已过时由Xamarin更新:(任何想法如何解决这个问题呢? – Bart 2013-11-15 16:26:03

相关问题