Tags: , , , , | Categories: Genel, Programlama Posted by okutbay on 23.02.2010 16:49 | Yorumlar (0)

This is sample application to serializes sample object

    1 using System;

    2 using System.Collections.Generic;

    3 using System.Text;

    4 

    5 using System.IO;

    6 using System.Xml.Serialization;

    7 

    8 namespace ConsoleApplication1

    9 {

   10     class Program

   11     {

   12         static void Main(string[] args)

   13         {

   14             SampleObject sampleObject = new SampleObject();

   15             sampleObject.Id = 35;

   16             sampleObject.Name = "Ozan K. BAYRAM";

   17 

   18             XmlSerializer serializer2 = new XmlSerializer(typeof(SampleObject));

   19             MemoryStream ms = new MemoryStream();

   20             XmlSerializerNamespaces xmlSerializerNamespaces = new XmlSerializerNamespaces();

   21             xmlSerializerNamespaces.Add("", ""); //if you want namespace for your XML define here

   22             serializer2.Serialize(ms, sampleObject, xmlSerializerNamespaces);

   23             StringBuilder XMLText = new StringBuilder();

   24             ms.Position = 0;

   25             using (StreamReader Reader = new StreamReader(ms))

   26             {

   27                 XMLText.Append(Reader.ReadToEnd());

   28             }

   29 

   30             string serializedObject = XMLText.ToString();

   31         }

   32     }

   33 }

Output string

xmlserializationoutput

 

Sample class to use

    1 [Serializable]

    2 [System.Xml.Serialization.XmlRoot("sampleobject")]

    3 public class SampleObject

    4 {

    5     [System.Xml.Serialization.XmlAttribute("id")]

    6     public int Id { get; set; }

    7 

    8     [System.Xml.Serialization.XmlElement("name")]

    9     public string Name { get; set; }

   10 }

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , , | Categories: Genel, Programlama Posted by okutbay on 11.11.2007 15:38 | Yorumlar (0)

Miras (Inheritance) kavramının iki önemli boyutu vardır.

Bunlardan birincisi kodun tekrar kullanımıdır. Bir sınıftan türetilen bir sınıf oluşturduğunuzda taban sınıfın mantığının bir kısmını kullanabilirsiniz...

Mirasın ikinci önemli boyutu ise çok biçimliliktir.
Çok biçimlilik bir tipin birden fazla formunun olması demektir. Böylece tipin detaylarına bakmadan birden fazla biçiminin kullanılabilmesidir. Konuyu açmamız gerekirse şu klasik bir örnek verilebilir. Kedi ve köpek farklı iki canlı paylaştıkları ortak özellikler ve ihtiyaçlar nedeniyle temel de ikisi de hayvandır.

Yani bir tip (class) türediği tip gibi davranabilir. İşte buna Çok Biçimlilik (Polymorphism) denir!

Detaylı bilgi için Kaynaklar:
http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming
http://en.csharp-online.net/Inheritance_and_Polymorphism%E2%80%94Creating_Polymorphic_Types 

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , , , | Categories: Programlama Posted by okutbay on 11.11.2007 15:27 | Yorumlar (0)
Erişim değiştiricilerin amacını anlamak kelime anlamlarından fazlasını anlamayı gerektirir...

public: olarak işaretlenen sınıf üyesine diğer sınıfların üye metodları erişebilir.

private: olarak işaretlenen sınıf üyesi sadece üyesi olduğu sınıf üye metodlarına görünür.

protected: olarak işaretlenen sınıfı üyesinin görünürlüğü üyesi olduğu sınıftan türetilmiş sınıfların üye metodlarına genişletilir.

Klavyeleriniz şen ola...

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , , , , , , , | Categories: IDE, Programlama Posted by okutbay on 08.10.2007 12:37 | Yorumlar (0)
Kodunuzu daha okunaklı kılmak için öncelike yapmanız gereken kod bloklarınızdan önce /// (üç bölü) yazmanız ve visual studio 2005 editörünün sizin için oluşturacağı bölümleri doldurmak.

/// <summary>
/// Bu sınıf Kişi verisi ve bu veri üzerinde yapılacak işlemleri içerir.
/// </summary>

Böylece ilgili kodunuz (class, method, vb.) kullanırken Visual Studio 2005 Editörü geliştirmeyi yapan kişiye gösterdiği tooltiplerde daha fazla bilgi verebilir.

Not:İlgili Tanım bloğu ile tanımladığı kod bloğu arasında boş satır olmamalıdır. Açıklama ile kod peş peşe yer almalıdır.

Ayrıca bu oluşturduğunuz bölümleri XML dosyasına aktarabilirsiniz.

Bu işlem için derleme parametrelerinde oluşturulacak XML dosyasının adı belirtilmelidir. Bunu yapmak için proje özelliklerinde build sekmesinde XML documentation file özelliği ayarlanmalıdır.

Bu işlemden sonra derleme sonucu gerekli XML belgesi oluşur.

Bundan sonra bu XML belgesi ile ne yapacağınız size kalıyor...

Örneğin bu dosyayı piyasada bulabileceğiniz uygulamalar ile kullanıp kendi yardım dosyalarınızı oluşturabilirsiniz.

Bu programlara NDoc örnek olarak verilebilir.
http://sourceforge.net/projects/ndoc/

Ayrıca bir XSL yardımı ile XML dosyanızın daha anlamlı görüntülenmesini de sağlayabilirsiniz...
http://www.codeproject.com/soap/XMLDocStylesheet.asp


Klavyeler şen ola...

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , , , | Categories: Genel, Programlama Posted by okutbay on 20.09.2007 00:53 | Yorumlar (0)
Erişim Değiştirici (Access Modifier) : Bir tipe veya tipin üyelerine erişimi sınırlayan private, protected, internal, public gibi kelimelerdir.

Erişilebilir Üye (Accessible Member) : Verilen tip tarafından ulaşılabilen üyedir. Bir tip ile erişilebilen bir üye başka bir üye tarafından erişilebilir olmayabilir.

Erişimci (Accessor) : Bir özellik (Property) ile ilişkilendirilmiş Özel (private) veri alanı (data field) üyenin değerini alan veya ayarlayan metodlardır. Okunur-Yazılır özellikler get ve set erişimcilerine sahipken salt okunur özellikler sadece get erişimcisine sahiptirler.

İsimsiz-Anonim metod (Anonymous Method) : Bir delegeye parametre olarak geçilirilen bir kod bloğudur.

Taban Sınıf (Base Class) : Türetilmiş sınıf (Derived Class) tarafından miras alınan sınıftır (Inherited Class).

Çağrı Yığını (Call Stack) : Çalıştırma zamanında (runtime) programın başından başlayarak çalıştırılacak ifadeye kadar olan yapılan metod çağrılarının dizisidir.

Sınıf (Class) : Nesneyi tanımlayan, nesneye şablon oluşturan veri tipidir. Sınıflar veri ve veriyi etkileyen metodlardan her ikisini de içerebilirler.

İlklendirici (Constructor) : Bir sınıf veya yapı üzerinde bulunan ve o tipteki nesneleri oluşturan özel metodlardır.

Temsilci-Delege (Delegate) : Bir metodu referans eden bir tiptir. Bir delege metoda atandığında tam olarak o metod gibi davranır.

Türetilmiş Sınıf (Derived Class) : Başka bir taban sınıfın davranışına ve verisine erişmek, geliştirmek veya değiştirmek için miras yöntemini kullanan sınıftır.

Sonlandırıcı (Destructor) : Örneğin sistem tarafından sonlandırılmasını hazırlayan, sınıf veya yapı üzerindeki özel bir metodtur.

Olay (Event) : Bir değişikliğin bilgilendirmelerini gönderen sınıf veya yapı üyesidir.

Alan (Field) : Sınıfın ya da yapının doğrudan erişilen veri üyesidir.

Jenerikler (Generics) : Jenerikler, bir sınıf ya da metodun bir tip parametresi ile tanımlanabilmesine olanak sağlarlar. İstemci kodu tipin örneğini yaratırken parametre olarak tanımlanan tipi belirli bir tipte değişken olarak tanımlar. Böyle parametrenin hangi tipte olduğu tanımlandığından sınıf ya da metodta o tip olarak kullanılabilir.

IDE (Integrated Development Environment) : Derleyici, debug edici, kod düzenleyici ve tasarım araçları gibi çeşitli geliştirme araçları için birleştirilmiş bir arayüz sağlayan uygulamalardır.

Değişmez-Sabit Tip (Immutable Type) : Örnek yaratıldıktan sonra, örneğinin veri, alan ve özellikleri değişmeyen tiplerdir. Değer tiplerinin çoğu böyle tiplerdir.

Erişilemez Üye (Inaccessible Member) : Belirtilen bir tip tarafından erişilemeyen bir üyedir. Bir tipe Erişilmez bir üyenin başka bir tipe de erişilmez olması gerektiğine dair bir zorunluluk yoktur.

Miras (Inheritance) : C#, Miras almayı destekler. Yani bir sınıf (class) taban sınıf (base class) olarak adlandırılan sınıftan türetilir ve aynı metod ve özellikleri miras alır. Bunu sınıfa Türetilmiş Sınıf (Derived Class) denir.

Arayüz (Interface) : Sadece public metod, olay ve delegelere ait imzaları içeren bir tiptir. Arayüzü miras alan bir nesne arayüzde imzaları tanımlanan tüm metod, olayları geliştirmek zorundadır. Sınıflar veya Yapılar (Structs) herhangi bir sayıda arayüzden miras alabilirler...

Öteleyici (Iterator) : Öteleyici, bir sınıfın içerdiği bir koleksiyon veya diziyi (array) sınıf kullanıcılarının foreach ile kullanabilmesine olanak sağlar.

Üye (Member) : Bir sınıf (class) ya da yapı (struct) üzerinde tanımlana alan (field), özellik (property), metod (method) veya olaylara (events) o sınıfın üyeleri (class members) denir.

Metod (Method) : Bir sınıf (class) ya da yapı (struct) için davranışı sağlayan isimlendirilmiş kod bloğudur.

Değişken Tip (Mutable Type) : > Örnek yaratıldıktan sonra, örneğinin veri, alan ve özellikleri değiştirilebilen tiplerdir. Referans tiplerinin çoğu böyle tiplerdir.

İçiçe Tip (Nested Type) : Diğer bir tipi tanımının içinde tanımlanmış tiptir.

Nesne (Object) : Sınıf örneğidir (instance). Bir nesne bellekte bulunur ve verisi ve bu veriler üzerinde etkisi olan metodları vardır.

Özellik (Property) : Özellikler, erişimcileri aracılığı ile bir veri üyesine ulaştırırlar.

Yeniden Düzenleme (Refactoring) :
Bilgisayar terminolojisinde bilgisayar yazılımının çıktılarını ve işlevlerini değiştirmeden iç yapısının yeniden düzenlenerek uygulamanın geliştirilmesi, iyileştirilmesi demektir. Kısaca önceden girilmiş kodun tekrar kullanılması diyebiliriz. Visual Studio C# düzenleyicisi akıllıca kodunuzu tekrar biçimlendirebilir. Mesela işaretlediğiniz bir kod bloğunu bir hamleyle bir metoda dönüştürebilirsiniz.

Referans Tipi (Reference Type) : Bir veri tipidir. Referans tipi olarak tanımlanan bir değişken verinin depolandığı konumu işaret eder.

Durağan-Statik (Static) : Statik olarak tanımlanan bir sınıf ya da metod "new" anahtar kelimesi ile ilklendirilmeden varolabilir.
Örneğin Main() statik bir metoddur.

Yapı (Struct) : Tipik olarak bazı mantıksal ilişkileri olan değişkenler içermesi için kullanılan birleşik veri tipidir. Yapılar aynı zamanda metodlar ve olaylar içerebilirler. Miras almayı desteklemezken arayüz kullanımını desteklerler. Sınıflar referans tipiyken, yapılar değer tipidir.

Değer Tipi (Value Type) : Öbek (Heap) üzerine yerleştirilen referans tiplerine karşın yığın (stack) üzerine yerleştirilen veri tipidir. Yapı ve null değer alabilen (Nullable) tiplerin de olduğu gibi Nümerik tipleri de içeren Yerleşik (built-in) tiplerin hepsi değer tipleridir. Sınıf tipi ve string tipi referans tipleridir.

kaynak: http://msdn2.microsoft.com/en-us/library/ms173231.aspx

3 kişi tarafından 4.7 olarak değerlendirildi

  • Currently 4,666667/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5