Numaralandırmanın Temel Türleri
Numaralandırmalar
Numaralandırmalar, programdaki bir değer yalnızca belirli bir değerler kümesine sahip olduğunda kullanışlıdır. Örneğin, bir denetim dört renkten yalnızca biri olduğunda veya bir ağ paketi yalnızca iki protokolü destekleyebildiğinde, bir numaralandırma kodu iyileştirebilir.
LineStyle enum, enum için belirtilebilecek değerleri tanımlar ve ardından aynı enum, çizilecek çizginin türünü belirtmek için işlev çağrısında kullanılır.
Numaralandırmalar, sıralama aralığı dışındaki değerlerin yanlışlıkla belirtilmesini engellese de, bir numaralandırma için belirtilebilecek değerler, numaralandırma bildiriminde belirtilen tanımlayıcılarla sınırlı değildir. DrawLine()’a yapılan ikinci çağrı yasaldır, dolayısıyla bir işleve iletilen bir enum değerinin geçerli değerler aralığında olduğundan emin olmak için yine de doğrulanması gerekir. Draw sınıfı, bağımsız değişken geçersizse geçersiz bir bağımsız değişken istisnası atar.
Numaralandırmanın Temel Türleri
Her numaralandırmanın, o numaralandırma için ne kadar depolama alanı ayrıldığını belirten temel bir türü vardır. Numaralandırma için geçerli temel türler byte, sbyte, short, ushort, int, uint, long ve ulong’dur. Temel tür belirtilmemişse, temel tür varsayılan olarak int’dir. Taban türü, enum adından sonra temel türü listelenerek belirtilir.
Enum tanımından önceki [Flags] özniteliği, tasarımcıların ve tarayıcıların flag enums olan enums için farklı bir arayüz sunabilmesi için kullanılır. Bu tür numaralandırmalarda, kullanıcının birkaç biti birlikte VEYA yapmasına izin vermek mantıklıdır, bu bayraksız numaralandırmalar için anlamlı değildir. Main() işlevi, iki bit değerini birlikte OR’ler ve ardından değeri üye işleve iletir.
Diğer önceden tanımlanmış tür gibi, Enum türü de C#’daki numaralandırmaları C++’daki numaralandırmalardan biraz daha kullanışlı yapan bazı yöntemlere sahiptir. Bunlardan ilki, aşağıdakileri yapabilmeniz için ToString() işlevinin bir enum değeri için metin adı döndürmek üzere geçersiz kılınmasıdır.
Bu örnekte, enum sabitlerinin değerleri ve/veya adları enum’dan alınabilir ve bir değerin dize adı bir enum değerine dönüştürülebilir. Son olarak, tanımlanan sabitlerden biriyle aynı olup olmadığını görmek için bir değer kontrol edilir.
Çoğu programlama dilinde, bazı bilgiler bildirimler yoluyla, diğer bilgiler ise kod aracılığıyla ifade edilir. Örneğin, aşağıdaki sınıf üyesi bildiriminde, derleyici ve çalışma zamanı bir tamsayı değişkeni için yer ayıracak ve korumasını her yerde görünecek şekilde ayarlayacaktır.
Tipik olarak, beyan edici bilgi türleri, dil tasarımcısı tarafından önceden tanımlanır ve dil kullanıcıları tarafından genişletilemez. Örneğin, belirli bir veritabanı alanını bir sınıfın alanıyla ilişkilendirmek isteyen bir kullanıcı, bu ilişkiyi dilde ifade etmenin, ilişkiyi depolamanın ve çalışma zamanında bilgiye erişmenin bir yolunu icat etmelidir.
C++ gibi bir dilde kullanıcı, nesnenin parçası olan bir alanda bilgileri depolayan bir makro tanımlayabilir. Bu tür şemalar işe yarar, ancak hataya açıktırlar ve genelleştirilmemişlerdir. Ayrıca çirkinler.
.NET çalışma zamanı, yalnızca sınıflar, üyeler, parametreler vb. gibi kaynak kodun öğelerine yerleştirilen ek açıklamalar olan öznitelikleri destekler. Çalışma zamanının davranışını değiştirmek, bir nesne hakkında işlem bilgisi sağlamak veya kuruluş bilgilerini bir tasarımcıya iletmek için öznitelikleri kullanabilirsiniz.
Nitelik bilgisi, öğenin meta verileriyle birlikte depolanır ve yansıma olarak bilinen bir işlem aracılığıyla çalışma zamanında kolayca alınabilir. C#, üye işlevlerin ne zaman çağrıldığını denetlemek için koşullu bir öznitelik kullanır.
Excel otomatik numaralandırma
Word de tez için sayfa numaralandırma
Excel 1 2 3 4 5 sıralama
Tezde içindekiler sayfa numaralandırma
Tez sayfa numaralandırma
Excel otomatik numaralandırma yapmıyor
Excel koşullu numaralandırma
Excel numaralandırma
Nitelikleri Kullanma
Bir grupla bir proje yaptığınızı varsayalım ve sınıflarda gerçekleştirilen kod incelemelerini takip etmenin önemli olduğunu varsayalım, böylece onlarla ne zaman bitireceğinizi belirleyebilirsiniz. Kod gözden geçirme bilgilerini, durumla ilgili kolay sorgulamalara izin verecek şekilde bir veritabanında saklayabilir veya kod ve bilgilere aynı anda bakmayı kolaylaştıracak yorumlarda saklayabilirsiniz.
Veya her iki erişim türünü de etkinleştirecek bir öznitelik kullanabilirsiniz. Bunu yapmak için bir öznitelik sınıfına ihtiyacınız var. Bir öznitelik sınıfı, bir özniteliğin adını, nasıl oluşturulabileceğini ve depolanacak bilgileri tanımlar. “Kendinize Ait Bir Nitelik” bölümü, öznitelik sınıflarını tanımlamanın cesur ayrıntılarını kapsar.
Sınıftan önceki AttributeUsage özniteliği, bu özniteliğin yalnızca sınıflara yerleştirilebileceğini belirtir. Bir program öğesinde bir öznitelik kullanıldığında, derleyici, bu özniteliğin o program öğesinde kullanımına izin verilip verilmediğini kontrol eder.
Nitelikler için adlandırma kuralı, sınıf adının sonuna Attribute eklemektir. Bu, hangi sınıfların öznitelik sınıfları ve hangi sınıfların normal sınıflar olduğunu söylemeyi kolaylaştırır. Tüm öznitelikler System.Attribute öğesinden türetilmelidir.
Sınıf, parametre olarak bir gözden geçiren ve bir tarih alan tek bir oluşturucu tanımlar ve ayrıca ortak dize özelliğine de sahiptir. Derleyici Complex sınıfında kullanılan özniteliğe geldiğinde, önce Öznitelikten türetilmiş CodeReview adlı bir sınıf arar. Bir tane bulamaz, dolayısıyla daha sonra bulduğu CodeReviewAttribute adlı bir sınıfı arar.
Ardından, özniteliğin bu kullanıma (bir sınıfta) izin verilip verilmediğini kontrol eder. Ardından, öznitelik kullanımında belirttiğiniz parametrelerle eşleşen bir oluşturucu olup olmadığını kontrol eder. Bir tane bulursa, nesnenin bir örneği yaratılır; yapıcı, belirtilen değerlerle çağrılır.
Adlandırılmış parametreler varsa, parametrenin adını öznitelik sınıfındaki bir alan veya özellikle eşleştirir ve ardından alanı veya özelliği belirtilen değere ayarlar.
Bu yapıldıktan sonra, öznitelik sınıfının mevcut durumu, belirtilen program öğesinin meta verilerine kaydedilir. En azından, mantıksal olarak olan budur. Gerçekte, sadece bu şekilde oluyor gibi görünüyor.
Performansla ilgili birkaç nedenden dolayı az önce açıklanan şekilde çalışmıyor. Derleyicinin öznitelik nesnesini fiilen yaratması için, .NET çalışma zamanı ortamının çalışıyor olması gerekir, bu nedenle her derlemenin ortamı başlatması ve her derleyicinin yönetilen bir yürütülebilir dosya olarak çalışması gerekir. Ek olarak, yalnızca bilgileri depolayacağınız için nesne oluşturma gerçekten gerekli değildir.
Bu nedenle derleyici, nesneyi oluşturabileceğini, yapıcıyı çağırabileceğini ve herhangi bir adlandırılmış parametre için değerleri ayarlayabileceğini doğrular. Nitelik parametreleri daha sonra, nesnenin meta verileriyle birlikte saklanan bir ikili bilgi yığınına toplanır.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)