c# başlangıç seviye,static konusu |
Yanıt Yaz |
Yazar | |
fatdem
Newbie Kayıt Tarihi: 07.Mart.2011 Online: Sitede Değil Gönderilenler: 6 |
Alıntı Cevapla
Konu: c# başlangıç seviye,static konusu Gönderim Zamanı: 08.Mart.2011 Saat 03:31 |
bütün elemeanları ve kendisi static olan bir sınıfın static yapıcı kullanması için bir sebep varmıdır? örneklendirebilirmisiniz?
|
|
murat turan
Üye Profili
Özel Mesaj Yolla
Bu kullanıcıya ait mesajları bul
Üyenin Web Sitesie Git
Arkadaş Listeme Ekle
Admin Group Datakent Kayıt Tarihi: 01.Ekim.2003 Bulundugu Yer: Turkey Online: Sitede Değil Gönderilenler: 1798 |
Alıntı Cevapla Gönderim Zamanı: 08.Mart.2011 Saat 17:06 |
Merhaba Fatih,
static 'in kullanım amacı tüm formlardan/sınıflardan tek bir noktadaki değişkeni yönetmek veya çok sıklıkla kullanacağın bir prosedür veya fonsiyona daha hızlı erişmek. mesela;
sisteme login olmuş bir kullanıcının kullanıcı ID sini tutan bir değişkeni Static tanımlayabilirsini. Bu sana ne sağlar?
her formdan bu değere erişebilirsin. Bu değere erişerek, online kullanıcının belki sayfa girişinde yetkilerini kontrol ettirmek isteyebilirsin.
veya logyazan bir prosedürün olsun. her hata oluştuğunda disk'e log yazmak istiyorsun. bu tür bir prosedür 'ü de static olarak tanımlayabilirsin. veya bir ibareyi şifreleyeceksin. bu tür bir fonksiyonu da static tanımlayabilirsin.
mesela web programlamada sisteme login olan kullanıcının bilgileri genelde session nesnesiyle saklanır. Windows formlarda ise bu tür işler için static kullanılabilir.
|
|
fatdem
Newbie Kayıt Tarihi: 07.Mart.2011 Online: Sitede Değil Gönderilenler: 6 |
Alıntı Cevapla Gönderim Zamanı: 08.Mart.2011 Saat 22:20 |
saolsın Murat Hocam. ellerine sağlık. çalışmaya devam:)
|
|
fatdem
Newbie Kayıt Tarihi: 07.Mart.2011 Online: Sitede Değil Gönderilenler: 6 |
Alıntı Cevapla Gönderim Zamanı: 22.Mart.2011 Saat 19:15 |
catch ifadesi içindeki return kaldırınca fout için tanımlanmamış yerel değişken hatası veriyor? using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ConsoleApplication4 { class Program { static void Main(string[] args) { string rpath = @"D:\test.txt"; FileStream fout; try { fout = new FileStream(rpath, FileMode.OpenOrCreate); } catch (IOException exc) { Console.WriteLine(exc.Message + "okunamadı"); Console.ReadKey(); return; } try { fout.WriteByte((byte)'p'); } catch (IOException exc) { Console.WriteLine(exc.Message + "hata"); } //fout.Close(); Console.ReadKey(); } } }
|
|
murat turan
Üye Profili
Özel Mesaj Yolla
Bu kullanıcıya ait mesajları bul
Üyenin Web Sitesie Git
Arkadaş Listeme Ekle
Admin Group Datakent Kayıt Tarihi: 01.Ekim.2003 Bulundugu Yer: Turkey Online: Sitede Değil Gönderilenler: 1798 |
Alıntı Cevapla Gönderim Zamanı: 26.Mart.2011 Saat 10:57 |
tertip merhaba. sen return; ibaresini kaldırdığında ve direkt fout.Close yaptığında şöyle bir duum oluyor.
ya fout nesnesi try bloğu arasında yaratılamazsa? sen yaratılmamış bir nesneyi nasıl Close yapacaksın abi. bu blokta bu durumda istisna fırlatacak. return; ile işlemi sonlandırdığında o bloğa gitmeyeceğinden sorun olmuyor. ama try bloğundan return'u kaldırırsan kodu aşağıdaki gibi dğeiştir abi.
string rpath = @"D:\test.txt"; FileStream fout = null; try
{ fout = new FileStream(rpath, FileMode.OpenOrCreate); } catch (IOException exc) { Console.WriteLine(exc.Message + "okunamadı"); Console.ReadKey(); return; } try { fout.WriteByte((byte)'p'); } catch (IOException exc) { Console.WriteLine(exc.Message + "hata"); } if (fout != null)
fout.Close(); Console.ReadKey();
*** bu arada kargonu dün teslim ettim. Düzenleyen murat turan - 26.Mart.2011 Saat 10:58 |
|
fatdem
Newbie Kayıt Tarihi: 07.Mart.2011 Online: Sitede Değil Gönderilenler: 6 |
Alıntı Cevapla Gönderim Zamanı: 26.Mart.2011 Saat 23:32 |
Murat Hocam,
senin dedğin gibi yaptım da. catch bloğu içindeki return u kaldırırsam veriyor "fout nesnesi tanımlanmamış yerel değişken" hatasını. yani catch te return kullanmazsam ve senin dediğin gibi de "ya dosya yaratılmazsa" catch çalışıp istisna vereceği ve catch sonunda return olmadğı için, catch bloğundan sonra nesneyi fout.close(); ile kapamayamı çalışıyor? istisnaları çalışırken anladğım catch ten sonra program hata msj verip sonlanıyor, o yüzden kafam karıştı fout.close(); ile catch bloğundaki return un alakası ne die.
|
|
murat turan
Üye Profili
Özel Mesaj Yolla
Bu kullanıcıya ait mesajları bul
Üyenin Web Sitesie Git
Arkadaş Listeme Ekle
Admin Group Datakent Kayıt Tarihi: 01.Ekim.2003 Bulundugu Yer: Turkey Online: Sitede Değil Gönderilenler: 1798 |
Alıntı Cevapla Gönderim Zamanı: 30.Mart.2011 Saat 15:45 |
fatih kargon geriye geldi, verdiğin adres bulunamamış.
return bulunduğu satırdan sonraki blokları çalışmaz kılıyor ! haliyle en sondaki fout.close'a hata sonrası gelinemeyeceği için (return; den dolayı) istisna fırlatmıyor.
|
|
Yanıt Yaz |
Forum Atla | Forum İzinleri Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |