VB.Net Object Initializer —VB.Net在建立Object 的同時初始化這Object 的屬性

我有時候很喜歡用C#的
可能是在網上有很多資源都是用C#寫的
其中一個我喜歡C Sharp 的原因是 在C#建立Object 的同時也可以初始化這Object 的屬性

E.G.

[csharp]
ShareChiWaiClass ShareChiWaiObj = new ShareChiWaiClass(){Blog_Author = "ShareChiWai",
Blog_Content = "My content",
Blog_ID = 1,
Blog_Title = "Object Initializer Example"
}
[/csharp]

VB.Net 卻要這樣寫

[vb]
Dim ShareChiWaiObj As New ShareChiWaiClass
ShareChiWaiObj.Blog_Author = "ShareChiWai"
ShareChiWaiObj.Blog_Content = "My content"
ShareChiWaiObj.Blog_DateCreated = Now
ShareChiWaiObj.Blog_ID = 1
ShareChiWaiObj.Blog_Title = "Object Initializer Example"
[/vb]

最近我終於發現了如何在VB.Net 中 在建立 Instance 的同時也初始化這Object/instance 的屬性
是這樣的
[vb]
Dim ShareChiWaiObj As New ShareChiWaiClass With
{.Blog_Author = "ShareChiWai",
.Blog_Content = "My content",
.Blog_DateCreated = Now,
.Blog_ID = 1,
.Blog_Title = "Object Initializer Example"
}
[/vb]

需要使用With 這個關鍵字…
和在Assign 屬性時 需要加”.” 相對比C# 麻煩一點點…
但是和以前的做法對比一下卻方便很多了

Hope you find it useful

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.