Başlık biraz belirsiz olabilir, ancak bunu daha iyi anlayamadım.Temel kurucuya göndermeden önce parametre değerlerini değiştirme
Bir temel kurucuyu çağırmadan önce türetilmiş bir yapıcıyı arayaamayacağımı fark ettim, ancak bir şekilde değerleri temel almayacak şekilde değiştirebilir/oluşturabilir miyim? I temel kurucu için gerekli değeri anlaması türetilmiş bir sınıf varsa
public enum InputType
{
Number = 1,
String = 2,
Date = 3
}
public class BaseClass
{
public BaseClass(InputType t)
{
// Logic
}
}
public class DerivedClass : BaseClass
{
public DerivedClass(int i)
: base(value)
// Can I do something to infer what value should be here?
{
// Logic
}
}
(bu örnekte, InputType.Number
bir int
için geçerli olacak şekilde,), örneğin
, değiştirmek için bir yol yoktur ve/veya türetilmiş yapıcının çalıştırılmasından önce temel kurucuya iletilen değerler oluşturulsun mu?
DerivedClass yapıcısında mantık yoluyla "değer" yaratamazsınız, çünkü temel (...) önce çalışır. –
@Reed, bir yazım hatası oldu. Koymak için değil (InputType) i. Sabit – JaredPar
Evet, yayınlayabilirsiniz. Ama mantığını değer yaratmak için kullanmanın bir yolunu soruyordu. –