我的情況類似於以下內容。如何將基礎構造函數的參數傳遞給派生構造函數?
public abstract class Mammal{ public Mammal(name, legs){ ... } }
public class Dog{ public Dog(name, legs) : base (name, legs) { ... } }
我不想總是做Dog dog = new Dog("fido", 4);
我寧願只是有「腿= 4」中的狗構造,並通過在只有名稱。
但是,每當我嘗試從構造函數中留下「腿」時,它會告訴我某些字段由於保護級別而無法訪問。
我正在使用getters和setters,它們都是公共的。
編輯:這裏是原來破類之一 -
public Soil(int idNo, string soilName, string prefabName)
: base(idNo, soilName, price, weight, size, madeOf, prefabName, iconName){
Price = 0;
Capacity = 1;
CanHoldSizes = new ContainerSizes[] {ContainerSizes.seed};
Contents = new Item[Capacity];
}
而不必把所有8個參數在新的土壤()的,我想只是把4這將是不同的每個新的土壤(),並有構造函數將其餘設置爲默認值。
這就產生錯誤,如:「'Item.price」不可訪問由於其保護級別」
「我正在使用getter和setters,它們都是公開的。」 - - 他們在哪? – zerkms