Resolve error 'there is no argument given that corresponds to required formal parameter' Hatası ve Çözümü
Toparlamak gerekirse, verdiğim örnekte bu hata constructor method'un parametrelerini vermememden kaynaklıydı. BU HATANIN SEBEBİ CONSTRUCTOR METHOD'A PARAMETRELERİNİN VERİLMEMESİDİR diyebiliriz. Herkese selamlar. Bugün, çözümü aslında gözümüzün önünde olan ama hatayı aldığımızda her şeyi düzgün yapmamıza rağmen hala kodun çalışmadığını düşündürten bir hatanın çözümünü anlatacağım.
Ben de bu hatayla yakın zamanda karşılaştım, şu şekilde oldu:
Bir 'Bin Packing' algoritması üzerinde çalışıyordum.(bin packing ifadesini ilk defa duyduysanız, her ne kadar bu problemin çözümü ile alakasız olsa da, internette kısa bir araştırma yapmanızı öneririm.). Bir Container nesnesi oluşturmak istedim. Kendisinden nesne türemek istediğim Container.cs sınıfı:(Şunu belirtmeliyim, eğer encapsulation prensibine uygun olarak property'lerimi private olarak tanımlasaydım bu sorunu en baştan yaşamayacaktım.)
public class Container
{
private decimal volume;
public int ID { get; set; }
public decimal Length { get; set; }
public decimal Width { get; set; }
public decimal Height { get; set; }
public decimal Volume
{
get
{
return volume;
}
set
{
volume = value;
}
}
public Container(int id, decimal length, decimal width, decimal height)
{
ID = id;
Length = length;
Width = width;
Height = height;
Volume = length * width * height;
}
}
Nesneyi oluştururken Container nesnesinin benden istediği gibi constructor parametrelerini girmektense aşağıda yaptığım gibi property'lerini değiştirmeye çalıştım.
Yorumlar
Yorum Gönder