1. Anasayfa
  2. Microsoft PowerShell

Powershell v5.0 ile Class Kullanımı Nasıl Yapılır? – Bölüm 2


1

Yazımızın ikinci serisi ile devam ediyoruz. Class yapısını detaylı bir şekilde incelemeye devam edelim. Şimdi ise Class yapısı içerisin de Enum (Enumarator) kullanacağız fakat önce yapısından bahsedelim.

Powershell v5.0 ile Class Kullanımı Nasıl Yapılır? – Bölüm 3

Powershell v5.0 ile Class Kullanımı Nasıl Yapılır? – Bölüm 2

Powershell v5.0 ile Class Kullanımı Nasıl Yapılır? – Bölüm 1

Enum (Enumaration) Nedir?

Bu yapı yazılım dilinde Enum, Enumaration ya da Enum sabitleri olarak adlandırılır. Değişkenlerin alabileceği değerlerin sabit (belli) olduğu durumlarda programı daha okunabilir hale getirmek için kullanılır. Programda birçok değişkene tek tek sayısal değer vermek yerine “Enum” kullanılabilir. Özet olarak “Enum” yapısı sayıları anlamlı şekilde isimlendirerek kullanabilmeye izin verir.

Bu yapıya her yazılım eğitimin de verilen örnek ile kolayca ilerleyelim. SehirPlakalari isimli Enum yapısı içerisinde birkaç sehir ve bunlara atanan sayısal değerler (Plaka Numarası) tanımlanabilir. Ben Istanbul’u çağırdığım zaman karşıma ilgili Plaka Numarasının gelmesini isteyebilirim. Enum yapısının içindeki tanımlamaları yaptıktan sonra Class yapısı içerisin de kullanmayı göreceğiz. Ama şimdi hemen Enum ( Enumaration) tanımlamasını yapalım.

Hatırlarsanız, Class tanımlarken keyword olarak” Class” kullanıyorduk. Enum ( Enumaration) tanımlarken keyword olarak “Enum” ve daha sonra EnumName şeklinde kullanacağınız.


Resim-1

Yukarıdaki örnek içerisin de SehirPlakaları adında bir Enum oluşturdum ve içerisine üyelerimi tanıttım. Şimdi artık yapmam gereken bu Enum listesi içerisinden istediğim değeri çağırarak çıkan sonucu görmek.


Resim-2

Enum yapısını çağırmak için, ” [EnumAdı]::Name ” şeklinde kullanmanız gerekiyor. Fakat bu şekilde çağırdığınız zaman ilgili seçilen karşısındaki değere ( Örnek : Ankara seçtiğimiz zaman 6 değerinin gelmesini istiyoruz.) sahip olmanız için aşağıdaki şekilde kullanmanız gerekiyor.


Resim-3

Yukarıdaki örnek içerisin de [SehirPlakalari]::Ankara içerisindeki değere ulaşmak için Enum yapısı içerisindeki değeri çağırdık. [SehirPlakalari]::Ankara.Value__ şeklinde değeri ekrana döndürdük. Şimdi Enum yapısını Class içerisinde kullanımına geçelim. Basit bir Araba adında Class oluşturacağım ve bunun için de Model, Manufacturer, Year ve Color gibi nesneler tanımlaması yapacağım. Daha sonrasında burada Color nesnesini sabit değer alabileceğini varsayıp Enum yapısına çevirelim.


Resim-4

Yukarıda görüldüğü gibi, Class tanımlamasını yaptık. Şimdi burada Color nesnesini Enum yapısına dahil edelim.


Resim-5

Class ve Enum detaylarını yukarıdaki gibi görebilirsiniz. Bu kısımda dikkatinizi çekmek istediğim bir nokta var, bir önceki resim de “Color” nesnesinin veri tipi “String” olarak tanımlanmış durumdaydı. Fakat ben bu nesneyi Enum yapısı içerisine alarak veri tipi kısmına tanımlamış olduğum Enum adını yazmış bulunuyoruz.

Şimdi kullanım şekline geçelim hemen, Aşağıdaki görüldüğü gibi Class yaratmak için New-Object Cmdlet kullanarak Class adını yazdım ve “A” isimli değişkene atamış durumdayım. “A” değişkenini çağırdığım zaman karşıma Class içerisindeki objeleri görmekteyim.


Resim-6

“A” değişkenini Color object içerisine değer atarken yukarıdaki dikkat ettiyseniz “1” yazmış bulunmaktayım. Bu rakam bana Enum içerisin de karşına tanımladığım değere denk gelmektedir. Enum içerisin de “1” değerinin karşına geldiği kısım “Red” değeri olduğu için, artık Class içerisindeki objeye içerisine “Red” ataması gerçekleşecektir.


Resim-7

Bununla beraber artık ilgili objeye Enum dışında tanımlanmış herhangi bir değer atama şansını bulunmuyor. Aşağıdaki örnekte Enum içerisinde olmayan bir değeri ilgili objeye atamaya çalıştığınız da aldığımız hatayı görebilirsiniz.


Resim-8

Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Hasan Güral, Istanbul doğumlu ve uzun yıllardır bilişim sektöründe danışmanlıktan eğitmenliğe farkli pozisyonlarda görev almıştır. Üniversite eğitimiyle birlikte bilişim sektöründe Kibar Holding, Bilge Adam Bilgi Teknolojileri Akademisi ve PeakUp Bilgi Teknolojileri gibi farkli kurumlarda Kıdemli Danışman ve Eğitmen olarak sektöre yön veren projelerde yer almistir.Microsoft Azure alanında yapmış olduğu paylaşımlar ve katkılarından dolayı Microsoft Valuable Professional (Azure) unvanına hak kazanmıştır. Cloud teknolojilerinin otomasyon alaninda gelişmesiyle birlikte zamaninin bir çoğunu PowerShell, Event-Driven Orchestration, Infrastructure as a Code ve Configuration as a Code ile geçirmektedir.Kariyerine Ingiltere’de DevOps Engineer ve Automation Enthusiast rolü ile Cloud Rundle’da devam etmektedir.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumlar (1)

    Bir yanıt yazın

    E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir