如何将此代码转换为VB.net
public void SetBooks(IEnumerable<Book> books)
{
if (books == null)
throw new ArgumentNullException("books");
new System.Xml.Linq.XDocument(books).Save(_filename);
}
在http://converter.telerik.com/中说:
Public Sub SetBooks(books As IEnumerable(Of Book))
If books Is Nothing Then
Throw New ArgumentNullException("books")
End If
New System.Xml.Linq.XDocument(books).Save(_filename)
End Sub
但是Visual studio说“语法错误。”因为“新”
这种情况的关键字是什么,我在 Google 上搜索但没有结果。
答案 0 :(得分:6)
实际上,您可以使用Call关键字
在一行中执行此操作Call (New System.Xml.Linq.XDocument(books)).Save(_filename)
答案 1 :(得分:3)
您无法初始化对象并在VB.NET中的一个语句中使用它(而不是C#)。你需要两个:
Dim doc = New System.Xml.Linq.XDocument(books)
doc.Save(_filename)
在C#构造函数returns the instance of the created object中,在VB.NET中没有。