override (üzerine binmek). aynen öyle oluyor :) var olan yani daha önceden yazılmış olan metodun üzerine binerek istedeğimiz gibi (tabi belirlenmiş cerceve dahilinde) değişikliği yapmak.

Override yapılacak metod'da "virtual" ön ekinin olması gerekmekte. hemen örnekte inceleyelim.

aşağıda gördüğünüz gibi bir sınıf içinde 4 özellik var. ilk isim, ikinci isim, soy isim ve yaş.

metodumuzda ise bunu bir if koşulu ile geri gönderiyoruz. özelliklerden ikinci isim boş olup olmadığını sınıyoruz ona göre geri döndürüyoruz metodu.

    public class TestInfo

    {

        public TestInfo()

        {

        }

        public string FirstName { get; set; }

        public string SecondName { get; set; }

        public string FamilyName { get; set; }

        public byte Age { get; set; }

 

        public virtual string GetFullName()

        {

            return String.IsNullOrEmpty(this.SecondName) ?

                this.FirstName + "" + this.FamilyName :

                this.FirstName + this.SecondName + this.FamilyName;      

        }

    }

Devamı...
Etiketler : override üzerine binmek base this if virtual
Kategoriler : CSharp.NET
Yorumlar : 0 Yorum Yorum Yaz
Paylaş : Bookmark and Share

Csharp'da metodları overload yapmak o kadar zordurki :) ve zahmetlidir. gelin beraber bakalım nasıl yapılır bu zor iş.

metodlarımızı yazdık. hepsi aynı isimde fakat parametreleri farklı.

 

        public string TestMethod()

        {

            return "Merhaba";

        }

        public string TestMethod(string name)

        {

            return "Merhaba, \nBenim Adım " + name;

        }

        public string TestMethod(string name, int age)

        {

            return "Merhaba, \nBenim Adım "+name+"\n"+age+" yaşındayım";

        }

        public string TestMethod(string name, int age, string site)

        {

           return "Merhaba, \nBenim Adım "+name+"\n"+age+" yaşındayım\nBlog adresim "+site;

        }

 

Overload olacak metodlarımız yazdık. hadi gidip uygulayalım.

Devamı...
Etiketler : overload csharp CSharp.Net metod method
Kategoriler : CSharp.NET
Yorumlar : 0 Yorum Yorum Yaz
Paylaş : Bookmark and Share

Bizler için hazır geliştirilmiş hazır methodlar vardır. String metodlara değinip nasıl kullanıldıklarına yüzeysel olarak bakalım.

 

        static void Main(string[] args)

        {

            string str = "String Methods"; //string tanımladık.

            Console.WriteLine(str);        //yazdırdık

 

            //metodlarımızı deneyelim tek tek :)

 

            //Clone method: string'i klonlayarak bir kopyasını döndürür.

            Console.WriteLine((String)str.Clone());

 

            //Compare method: Karşılaştırma metodu.

            //Karşılaştırılan stringlerden ilki büyükse 1 ikincisi büyükse -1 eşitse 0 döner

            Console.WriteLine(str.CompareTo("method string"));

Devamı...

Interface (arayüz) kavramı nedir?

Interface; sınıflar için klavuz niteliğindedir. onlara yapacakları işte rehberlik eder.

c++'da çoklu mirasalma kavramı mevcuttu. yazılan sınıflar komplexleştikçe içinden çıkılmaz bir karmaşık hal aldı. C# da ise bu olay engellenerek sadece tek sınıftan miras alınabilecek yapı getirildi. fakat aynı şekilde işleri kolaylaştırması açısından Interface kavramı devreye girdi. Interface'in en önemli nedenlerinden biride budur aslında.

basit bir yapı :) fakat komplex yapıların bağlantı kablosu gibi :)

basitinden kullanımı için gerekli şartlara ve kısıtlamalara bakalım.

Interface'de olabilecekler;

  • Indexer(indexleyici)
  • Event(olay)
  • Method(metod)
  • Property(özellik)

Interface'de olamayacaklar;

  • Constructor(yapıcı)
  • Destructor(yıkıcı)
  • Field(alan)

Tanımlanırken dikkat etmemiz gerekenler ve önemli noktalar;

  • Interface içindeki tanımlanacak hiçbirşey static olamaz
  • Yine tanımlanacak olan şeylere public access modifier verilemez. zaten public'dir.
  • Interface anahtar kelimesi ile tanımlanır isimlerinin önüne ayrılması açısından I yazılır. zorunlu değildir.
  • Interface sadece kendisini kullanacak sınıfınların kullanacağı üyeleri tanımlarlar.
  • Interface kullanan sınıfta, Interface tanımlı tüm elemanlar olmak zorunda.
  • Kod satırı içermezler.
  • Sadece Interface olabileceklerin tanımlandığını görürüz.
  • Okunabilirliği kolaydır.

 

Devamı...

Csharp ClassDiagram'a basitce değinelim. en azından nedir ne değildir görelim.

 

classdiagram

 

Class Diagram eklemek için yukarıda gördüğünüz gibi Add>>New Item.. diyoruz. açılan dialog penceresinden classdiagramı seçip projemize ekliyoruz.

 

classdiagram

 

 

Devamı...
Etiketler : ClassDiagram CSharp.Net csharp class
Kategoriler : CSharp.NET
Yorumlar : 0 Yorum Yorum Yaz
Paylaş : Bookmark and Share

Öncelikle bir senarya oluşturalım. Taşıtları ele alalım.

Taşıtlar
-Motorlu
--Araba
---Spor
---Klasik
--Kamyon
---Kamyonet
---Tır
-Motorsuz
--Fayton
--Bisiklet

Bu sınıfları işleyeceğiz. Taşıtlar sınıfı en üstte olacak ve ortak olan tüm property'leri barındıracak. Motorlu da ise altında bulunan sınıfların ortak özellikleri barınacak. aşağı inildikçe özelleşecek.

windows Application oluşturalım. ve yıkarıdaki sınıfları oluşturalım.

solution

Devamı...
Etiketler : new public protected internal private abstract sealed partial
Kategoriler : CSharp.NET
Yorumlar : 5 Yorum Yorum Yaz
Paylaş : Bookmark and Share

Kankamın Yeni makalesi

İnternette gördüğüm üzere birçok kişi Doviz bilgilerini C#'da nasıl alabileceğini sorgulamış. Bunlara bende dahil tabiki ama ben TCMB.gov.tr 'nin XML'ini işleyerek bu bilgiye ulaşmıştım. Aşağıda vereceğim yöntem ise çok daha basit bir yöntem. Bu yöntem ile Doviz bilgilerini çok kolay bir şekilde alabilirsiniz.

Tabiki bu Doviz alma işlemi sadece C#'dan ibaret değil. Desktop programınıza bunu aktarabileceğiniz gibi Asp.net'de de vereceğim dosyayı kullandığınız takdirde doviz bilgilerini rahatlıkla WebFormlarınıza alabilirsiniz.

Peki Nasıl Yapacağız ?

İlk olarak burada bulunan Doviz.rar dosyasını indirin,zipten çıkarın ve çıkan Doviz.cs dosyasını projenizin ana dizinine atın ya da Projenize sağ tuş ile tıklayın Add > Existing Item komutunu vererek indirdiğiniz dosyayı seçin. Ayrıca Asp.net içinde App_Code klasörü içerisine bu dosyayı atarak kullanabilirsiniz.Konumuz C# geri dönüyorum.

Daha sonra References üzerine sağ tuş ile tıklayın ve Add Reference yapın. ".Net" sekmesindeki "System.Web.Services"'i seçin.

Kullanabileceğimiz şeyleri şimdi ayarlamış olduk. Yapacağımız tek işlemse artık kurlarımızı çekecek kodu yazmak bu ise çok basit.

Projenize 2 tane Label , 1 Buton koyun. Ben labellerin isimlerinin lblUSDBuy ve lblUSDSell olduğunu varsayıyorum. Butonun Click olayına aynen aşağıdaki gibi yazıyoruz.

Butonun Click Olayına Yazılacak KodCurrency.DovizIslemleri Doviz = new Currency.DovizIslemleri();
lblUSDBuy.Text = Doviz.TlKarsiligi(Currency.
DovizIslemleri.KurKodu.USD.ToString(), Currency.DovizIslemleri.Tur.ForexBuying).ToString() + " YTL";
lblUSDSell.Text = Doviz.TlKarsiligi(Currency.
DovizIslemleri.KurKodu.USD.ToString(), Currency.DovizIslemleri.Tur.ForexSelling).ToString() + " YTL";

Artık Tek yapmanız gereken projenizi Çalıştırmak.

lblUSDBuy ve lblUSDSell labellerine USD alış ve satış değerlerinin geldiğini göreceksiniz.

Diğer döviz kurları için yapmanız gereken tek şey Currency.DovizIslemleri.KurKodu 'dan sonra "." koyup kurunuzun ismini seçmek. Misal Euro

Currency.DovizIslemleri.KurKodu.EUR.ToString()

için bunu kullanabilirsiniz.

Ayrıca bilmeniz gereken, Doviz Alış ve Satış durumu Currency.DovizIslemleri.Tur ile belirleniyor. Bunun alabileceği 4 değer bulunuyor. Bunlar ;

ForexBuying, //Döviz alış
ForexSelling, //Döviz satış
BanknoteBuying, //Efektif alış
BanknoteSelling, //Efektif satış

Değerleridir. Sizde kendinize uygun olanı seçip alış-satış bilgilerini çekebilirsiniz. Ben olayı biraz daha genişleterek Tüm kurları alabilecek bir program yaptım. Bu programıda inceleyerek daha detaylı bilgiye sahip olabilirsiniz.

Programın Ekran Görüntüsü :

 

Programın dosyalarını buradan indirebilirsiniz.

Selametle...

Kaynak

 


Makale Serisi: Girilen değerin sayısal olup olmadığı kontrol etmek

 

Vb.NET de yapılacak olan bu örneği Selçuk ERMAYA hocam Hazırladı.

Makalenin Orjinalini ve daha Fazlasını GCN.NET Adresinden Ulaşabilirsiniz..

_________________________

Bazı komutlar basit ama çok yararlı hale gelebiliyorlar. Aklıma gelmişken geçenin bi yarısı sizde bilgilenin istedim. Diyelim ki bir yazının integer olup olmadığını yani sayısal mı değil mi kontrol ettirmek istiyorsunuz. Bu örnek için hemen formunuza 1 adet Textbox ve Button ekleyin. Textbox ın ismini txtDeger yapıp Button 1 in click olayına aşağıdaki kodu yazmanız yeterli.

int result;
if (int.TryParse(txtDeger.Text, out result))
{
MessageBox.Show("Girdiğiniz Sayı İnteger : " + result.ToString());
}
else
{
MessageBox.Show("Girdiğiniz Sayı İnteger Değil !!!");
}
Projeyi çalıştırdığınızda textbox'a girdiğiniz değerin sayısal olup olmadığını görebilirsiniz.


Bir önceki makalede Asp.net ile mail göndermeyi anlatmıştık. Bunu yapmışken yine System.Net ve System.Net.Mail 'den faydalanarak toplu mail işlemi nasıl gerçekleştirilir onu öğreneceğiz. Ama bu sefer bu işlemi C#.Net ile yapacağız. İlk olarak yapacaklarımız tabiki System.Net ve System.Net.Mail'i eklemek. Aynı zamanda da Text dosyasından toplu mail adreslerini okumak için System.IO 'yu da kullanacağız. Gel gelelim işlemlerimize ilk olarak ekleme işlemlerimizi yapalım.

using System.IO;
using System.Net;
using System.Net.Mail;

Evet. Namespacemize bunları ekledikten sonra geldi Nesnelerimizi eklemeye. Ben ekleyeceğiniz nesneleri ve onların özelliklerini yazıyorum.

5 Tane Textbox ekliyoruz. Bunların özellikleri ve isimleri şöyle olacak.

1.ci Textbox : Name = "txtSunucu"
2.ci Textbox : Name = "txtMailAdresi"
3.cü Textbox: Name = "txtParola" , PasswordChar = "*"
4.cü Textbox: Name = "txtKonu"
5.ci Textbox : Name = "txtMesaj" , Multiline = "true"

1 Tane Listbox : Name = "lblMailler"

2 Tane Button

1.ci Button : Name = "btnYukle"
2.ci Button : Name = "btnGonder"

Bütün bunları oluşturduktan sonra sıra geliyor ihtiyacımız olanlara. Ben süs olsun diye 3 tane de groupbox yaptım ve bunları grupladım. Bunu sizde gerçekleştirebilirsiniz. Daha sonra aşağıdaki kodları btnYukle ve btnGonder in Clik olayına yazdım. Kendinize göre düzenleyin.

private void btnYukle_Click(object sender, EventArgs e)
{
try
{
dlgOpenFile.ShowDialog();
if (dlgOpenFile.FileName != "")
{
lbMailler.Items.Clear();
StreamReader srRead = new StreamReader(dlgOpenFile.FileName);
while (srRead.EndOfStream==false)
{
lbMailler.Items.Add(srRead.ReadLine().ToString());
}
srRead.Close();
}
}
catch (Exception ex)
{
MessageBox.Show("Hatalı Yükleme !\n\n" + ex.Message);
}
}

private void btnGonder_Click(object sender, EventArgs e)
{
try
{
SmtpClient MailSender = new SmtpClient(txtSunucu.Text);
MailSender.Credentials =
new NetworkCredential(txtMailAdresi.Text, txtParola.Text);
MailMessage Mail = new MailMessage();
Mail.Body = txtMesaj.Text;
// Mesajınız
Mail.IsBodyHtml = true; // Mail Formatı // Eğer Mailiniz Html Kodu içermeyecekse False olsun
Mail.Subject = txtKonu.Text; // Mailinizin Konusu
Mail.From = new MailAddress(txtMailAdresi.Text); // Gönderen Adresi
for (int i = 0; i < lbMailler.Items.Count; i++) // Gönderilecek Maillerin Yüklenmesi.
{
Mail.To.Add(lbMailler.Items[i].ToString());
}
MailSender.Send(Mail);
// Mailin Gönderilmesi

MessageBox.Show("Tüm Mailler Başarı İle Gönderildi");
}
catch (Exception ex)
{
MessageBox.Show("Hata Oluştu :\n\n" + ex.Message);
}
}

Daha sonra programı derleyip çalıştırabilirsiniz. Programın ekran görüntüsünü de vereyim :

Programın kaynak kodlarını indirmek içinde buraya tıklayabilirsiniz.

Yararlı bir makale olması dileği ile.

Selametle...

 

 

Kankamın Hazırlamış Olduğu güzel bir makale ;)

 


Etiketler : Programlama toplu mail göndermek C# mail csharp
Kategoriler : CSharp.NET
Yorumlar : 3 Yorum Yorum Yaz
Paylaş : Bookmark and Share

s.a

arkadaşlar inş. çok yakında c# da hazırlamakta olduğum 10'a yakın video ve dökümanı sizlerle paylasıcam.
zaten visual studio ortamına yeni giriş yaptım. ben öğrendikce videoları hazırlıyorum. inş beraberce öğrenicez c# 'ı. ideolar 15 gunu bulabilir. neyse eklediğim zaman zaten goreceksiniz selametle...


Etiketler : makale video
Kategoriler : CSharp.NET
Yorumlar : 5 Yorum Yorum Yaz
Paylaş : Bookmark and Share
Arama
  Ara
Bağlantılar
Takvim
<March 2010>
SMTWTFS
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910
Twitter
    Takip Et...
    Analiz
    İlk Yazı 2006 Aralık 5 tarihinde yazıldı. Toplam 412 yazı ve 1705 yorum bulunmaktadır. Site 9 Mart 2009 tarihinden bu güne kadar 134896 kez ziyaret edilmiştir.

    Favorilerine Ekle

    Real Time Web Analytics

    Tavsiye