Şimdi Ara

C# Generic class T nullable nasıl yapılıyor ?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
7
Cevap
0
Favori
310
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri
  • Son Yorum 11 ay
  • Cevaplayan Üyeler 3
  • Konu Sahibinin Yazdıkları 4
  • Ortalama Mesaj Aralığı 3 saat 42 dakika
  • Son 1 Saatteki Mesajlar 3
  • Haberdar Edildiklerim (Alıntılar) 1
  • Konuya En Çok Yazanlar
  • ORGANIKHOSAF (4 mesaj) mahoni_38 (2 mesaj) kangroo (1 mesaj)
  • Konuya Yazanların Platform Dağılımı
  • Masaüstü (6 mesaj) Uygulama (1 mesaj)
  • @
0 oy
Öne Çıkar
Tüm Forumlar >> Web Tasarım - Programlama >> Yazılım Geliştirme >> Asp / Asp.NET >> C# Generic class T nullable nasıl yapılıyor ?
Sayfaya Git:
Sayfa:
1
Giriş
Mesaj
  • Yarbay
    2626 Mesaj
    Konu Sahibine Özel
    NOT : Resimler konuda gözükmüyor anlamadım üstüne tıklayın kutuların açılıyor.

    Merhaba web api ve vue kullanarak kendimi geliştirme,deneme maksatlı bir site yapıyorum olabildiğince araştırarak doğru şekilde ilerlemeye çalışıyorum.

    Bir sorunum var daha doğrusu sorun değil gayet güzel çalışıyor ama genede daha düzgününü yazmak hedefim.



    Yukarıdaki resimdeki gibi bir classım var ben apide geri dönüş yaparken bu classı kullanıyorum şu makaleden gördüm uyguladım kendime göre ayarladım
    http://www.borakasmer.com/net-core-ef-core-ve-dependency-injection-ile-uctan-uca-service-ve-business-katmani/

    Şimdi benim yapmak istediğim şey şu apide her zaman geriye ben veri dönmüyorum yani o datayı doldurmama gerek yok sadece message,issucess ve errorsu doldurup dönüyorum bazen

    Örnek :


    Yukardaki resimde ben login register ve confirm email aksiyonlarında sadece hata varsa hata ve issuccess dönüyorum yani geriye bir data dönmüyorum yani o classları vermeme gerek yok ama boş geçmeme izin vermediğinden doldurdum böylede çalışıyor.
    https://docs.microsoft.com/tr-tr/dotnet/csharp/programming-guide/generics/constraints-on-type-parameters

    Şu makaledeki olayı denedim yani ServiceResponse <T> where T : class? bu şekil yaptım ama genede boş geçmeme izin vermedi bunu ben nasıl boş geçilebilir yapabilirim Nullable <T> felan ne biliyorsam denedim olmadı T den sonra ? işareti koydum olmadı.



    < Bu mesaj bu kişi tarafından değiştirildi ORGANIKHOSAF -- 23 Ağustos 2020; 14:11:50 >



    |
    |




  • DH Yönetici
    3859 Mesaj
    public Nullable<int> Somethings { get; set; }


    Bu işe yaramıyor mu?
  • Yarbay
    2626 Mesaj
    Konu Sahibine Özel

    Denedim yaramadi.Tesekkurler.
    |
    |
    kangroo kullanıcısının, bahsedilen mesajını gör
  • Yarbay
    2736 Mesaj
    referans tipler zaten nullabledir. default value de null zaten. ServiceResponse<object> response = new ServiceResponse<object>() dediginde data nullable olur.

    class? diye bir yazim yok diye biliyorum.
  • Yarbay
    2626 Mesaj
    Konu Sahibine Özel

    Sağol abi o class? yazımını konuda paylaştığım microsoftun sitesinde görmüştüm aşağıya da o kısmı yapıştırdım

    where T : class? Tür bağımsız değişkeni, null yapılabilir veya null yapılamayan bir başvuru türü olmalıdır. Bu kısıtlama, her sınıf, arabirim, temsilci veya dizi türü için de
    geçerlidir yazıyor


    Şimdi ben bu response daki datanın boş olmasını istersem illa object mi yazmam lazım direk boş geçerek oraya bir şey yazmadan olmuyor sanırım ben onu istiyordum.Aşağıda kodumun şuan nasıl olduğununa dair resim paylaştım kutuya tıklayınca açılıyor forumda gösteremiyorum anlamadım.

    Kodum bu böyle dönüş yapıyorum
    mesela registerviewmodel vermeme gerek yok message error dönüyorum. Ozaman ben eğer boş geçmek istersem datayı,return new ServiceResponse<object> şeklinde yazıcam null olmuş olacak return new ServiceResponse<> böyle bırakılmıyor anladım.

    Teşekkür ederim.



    < Bu mesaj bu kişi tarafından değiştirildi ORGANIKHOSAF -- 24 Ağustos 2020; 11:33:22 >
    |
    |
    mahoni_38 kullanıcısının, bahsedilen mesajını gör




  • Yarbay
    2736 Mesaj
    quote:

    Orijinalden alıntı: ORGANIKHOSAF

    Sağol abi o class? yazımını konuda paylaştığım microsoftun sitesinde görmüştüm aşağıya da o kısmı yapıştırdım

    where T : class? Tür bağımsız değişkeni, null yapılabilir veya null yapılamayan bir başvuru türü olmalıdır. Bu kısıtlama, her sınıf, arabirim, temsilci veya dizi türü için de
    geçerlidir yazıyor


    Şimdi ben bu response daki datanın boş olmasını istersem illa object mi yazmam lazım direk boş geçerek oraya bir şey yazmadan olmuyor sanırım ben onu istiyordum.Aşağıda kodumun şuan nasıl olduğununa dair resim paylaştım kutuya tıklayınca açılıyor forumda gösteremiyorum anlamadım.

    Kodum bu böyle dönüş yapıyorum
    mesela registerviewmodel vermeme gerek yok message error dönüyorum. Ozaman ben eğer boş geçmek istersem datayı,return new ServiceResponse<object> şeklinde yazıcam null olmuş olacak return new ServiceResponse<> böyle bırakılmıyor anladım.

    Teşekkür ederim.
    c# 8 ile idi galiba. value typelar ve classlar expilict olarak nullable veya not null oluyor olabilir boyle birseyler gozume carpti. Swift de bir degisken
    weak veya strong tanimlayarak nullable ve not null verilebiliyor. Bu ozellik c# geldiyse bilmiyorum.

    Bir nesneyi GenericClass olarak natimladiysan List<T> gibi . illa o T vermen lazim. kullan kullanma. Onu kullanmadigin bir hali varsa ayri bir obje tasarlar. MyGenericClass<T> da T yerine Object vermek zorunda deglsin ama bir sey vermen lazim.




  • Yarbay
    2626 Mesaj
    Konu Sahibine Özel

    Tamamdır abi teşekkürler 2 ayrı class yapmak istememiştim şimdilik geriye data dönmediğim zaman object verip geçiyorum. Data dönceğim zaman model veya entity veriyorum böyle ayarladım.Sağol tekrardan
    |
    |
    mahoni_38 kullanıcısının, bahsedilen mesajını gör
Sayfaya Git:
Sayfa:
1
Reklamlar
uc satın al ;pubg mobile ;uc
triple negative breast cancer
En ucuz kedi maması fiyatları
Bu sayfanın
Mobil sürümü
Mini Sürümü

BR1
0,268
1.2.165

Reklamlar
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.