Reyza

tenang, senang, sederhana
See also: Other Geeks@INDC

Yang BARU (kutahu) pada VS2008

VS2008 makan memanjakan para penggunanya, makin membuat otot-otot lebih relax karena tidak perlu bekerja terlalu lama dan keras. Banyak penulisan code yang bisa dipangkas bila menggunakan VS2008 sebagai contoh adalah :

Automatic Properties

Sekarang ini biasanya untuk menulis class persistence untuk Nhibernate atau keperluan lain adalah seperti berikut :

class Dycoder

{

   private string _name;

   private string _skill;

 

   public string Name

   {

      get { return _name;}

      set {_name = value;}

   }

 

   public string Skill

   {

     get{return _skill;}

     set{_skill = value;}

   }

}

 

Tapi dengan VS2008 maka yang cukup ditulis adalah sebagai berikut :

class Dycoder

{

   public string Name { get; set; }

   public string Skill { get; set; }

}

 

Kenapa saya menyebut ini adalah 'kemampuan VS2008' bukan 'cara baru penulisan sintaks C#'. berikut kronologisnya :

Cara kedua penulisan class Dycoder saya coba di VS2005, sudah pasti akan terjadi error. Kemudian cara kedua saya coba pada VS2008 dengan menggunakan solution .NET Framework 3.5, sudah tentu berhasil ketika proses build dilakukan. Bagaimana bila dengan menggunakan VS2008 dengan menggunakan solution .NET Framework 2.0 (artinya masih menggunakan C# 2.0 bukan?) dan penulisan class Dycoder dengan cara kedua dilakukan, di build dan BERHASIL.

Karena masih belum yakin apakah ada perbedaan akan output yang dihasilkan maka hasil yang dikeluarkan oleh :

  • VS2005 dengan cara penulisan pertama class Dycoder.
  • VS2008 dengan cara penulisan pertama class Dycoder.
  • VS2008 dengan cara penulisan kedua class Dycoder

Saya coba lirik dengan Reflector (pengaruh ngga sih kalau mengintip dengan Reflector?)

Berikut gambar yang dihasilkan oleh VS2005


Berikut gambar yang dihasilkan oleh VS2008


Sama bukan, yang berbeda hanyalah pada nama properties yang terlihat pada gambar VS2008, hal ini karena VS2008 (C# Compiler pada VS2008 mungkin tepatnya?) memberikannya secara otomatis.

Inisialisasi Object

Yang biasa saya lakukan adalah :

Dycoder dycoder = new Dycoder();

dycoder.Name = "Reza";

dycoder.Skill = "Nothing";

 

Dengan VS2008 maka anda dapat melakukan dengan cara seperti ini :

Dycoder dycoder = new Dycoder { Name = "Reza", Skill = "Nothing" };

 

Inisialisasi Collection

Di VS2005 yang dilakukan adalah sebagai berikut :

List<Dycoder> dycoders = new List<Dycoder>();

dycoders.Add(dycoder);

 

Sedangkan pada VS2008 maka dapat dilakukan seperti berikut :

List<Dycoder> dycoders = new List<Dycoder>

{

new Dycoder { Name = "Reza", Skill = "Nothing" },

new Dycoder { Name = "Wahyu Agung", Skill = "Java" }

};

 

Apabila sudah menggunakan VS2008 mungkin cara ini bisa digunakan agar kalori sarapan, makan siang atau makan malam tidak terlalu terbuang untuk menulis banyak baris kode seperti saat menggunakan VS2005. Selain itu tidak hati akan tetap tenang karena kode yang ditulis tersebut masih bisa dibaca dilingkungan .NET Framework 2.0, 3.0 dan 3.5 (CMIIW).

Semoga (masih belum yakin sebelum dicoba dikomputer yang hanya terinstall .NET Framework 2.0).

Share this post: | | | |
Posted: Dec 20 2007, 01:31 PM by reyza | with 8 comment(s)
Filed under:

Comments

wilbert said:

Tau dari mana tuh kk?? ;p.

aku baru tau kalo VS2008 bisa gitu

itu apa karena C# 3.0??

# December 20, 2007 6:05 PM

wirawan said:

thanks!

very helpful!

# December 20, 2007 6:57 PM

reyza said:

@wilbert :

aku juga baru tau :)

bukan karena C# 3.0 sepertinya, karena aku coba di VS2008 dengan target solution .netfx 2.0 masih bisa jalan. tapi untuk pastinya perlu dicoba dulu di komputer yang hanya terinstal .netfx 2.0.

# December 20, 2007 8:20 PM

Haryo Prabowo said:

itu namanya anonymous properties kan ya?

# December 20, 2007 10:25 PM

andriyadi said:

Good job...

# December 21, 2007 7:57 AM

reyza said:

Anonymous atau Automatic properties? Logika (menurut saya) sama saja, artinya saya tidak perlu memikirkan pembuatan dan penamaan property.

# December 21, 2007 8:42 AM

Bebin said:

Ini VS 2008 apa C# 3.0 only?

Kalo di VS cakupannya luas loh, nggak tahaaaan ;)

Mesti jabarin language, editor, dan bhuanyak lainnya.

(g si ga kuku)

Itu mah (harusnya) jatahnya guys@project-otak.net

BTW, yg anonymous di C# 3.0 itu setahu g class, bukan property. CMIIW

contohnye:

var couple = new { Bill = "Rich", Melinda = "Loon" };

Yg g heran kenapa code diatas jalan dicompile dng Fx 2.0 walaupun pake VS 2008 sekalipun.

Weird!

Ini strongly typed loh. Nama classnya? Tanya om reflector.

# December 21, 2007 1:05 PM

reyza said:

@Bebin

nah itu juga aneh, kenapa dg menggunakan target Fx 2.0 apa yg ditulis tadi jalan asal pakai VS2008, tp ga jalan dg menggunakan VS2005.

# December 21, 2007 1:50 PM