2015-11-04 20 views
5

Temel sınıf yapıcısına bir değer vermek istiyorum. Karşı karşıya kaldığım problem, değerin türetilmiş sınıf içindeki özel değişkende saklanmasıdır. Bunu geçmek mümkün mü? ya da böyle yapmak için iyi bir yaklaşım mı? Özel değişken taban sınıf yapıcısına geçiriliyor

Bu

I bir amacı, bir referans statik olmayan alan, metodu ya özelliği

temel sınıf

için gereklidir

gösteren

class Filtering : Display 
{ 
    private int length = 10000; 
    public Filtering():base(length) 
    { 
    } 
} 

güvenilir ne

abstract class Display 
{ 
    public Display(int length) 
    { 
    } 
} 
Eğer uzunluk bir örnek değişkeni olabilir, ama yine de temel kurucu bunu tedarik etmek istiyorsanız


, aşağıdaki gibi bir şey öneririm:

+1

Bunu statik yapmadan önce –

+0

@AmitKumarGhosh Statik yapmanın dışında başka bir yolu var mı? – Bharadwaj

+2

'length' türünde de olması gerekiyor. Ve 'Display' sınıfı, 'length' ile aynı türde bir parametre alan bir kurucuya ihtiyaç duyar. –

cevap

2

Tam olarak answerer Chips_100 (şu anda sahibi tarafından silinmiş) his answer yazdığı :

private const int DefaultLength = 10000; 

private int length = DefaultLength; 

public Filtering() : base(DefaultLength) 
{ 
} 

Bu cevap asıl yazar kendi yazı silme işlemini geri meyillidirler herhangi bir işaret görmedim. Aynı zamanda, temelde aynı şeyi yazarken, bir başkasının yazdığı bir cevabın kredisini almamayı tercih ederim. Bu yüzden bunu bir Topluluk Wiki cevabına dönüştürdüm.

İlgili konular