Скажу сразу, C# для меня чисто любительская тема, поэтому прошу сильно не пинать.
Имеем абстрактный класс:
abstract public class Bazes
{
abstract public string MainDirectory { get; set; }
abstract public string MainBackUpDirectory { get; set; }
abstract public string DirectoryLog { get; set; }
abstract public string FileLog { get; set; }
abstract public bool IsMaches (string item);
public List<Baza> GetFullList() {
List<Baza> result = new List<Baza>();
string[] Items = Directory.GetDirectories(this.MainDirectory);
foreach (string Item in Items) {
result.Add(new Baza ( Item ));
}
return result;
}
public List<Baza> GetCurrentList()
{
List<Baza> result = new List<Baza>();
string[] Items = Directory.GetDirectories(this.MainDirectory);
foreach (string Item in Items) {
if (IsMaches(Item)) {
result.Add( new Baza( Item ));
}
}
return result;
}
public void Log(string text) {
if (text != null && text != "")
{
Directory.CreateDirectory( DirectoryLog );
File.AppendAllText(FileLog, DateTime.Now.ToString() + " : " + text + "\n", encoding: Encoding.UTF8);
}
}
public Bazes()
{
}
}
А так же несколько производных.
Суть в том, что бы использовать поля из потомка в самом абстрактном классе (т.к реализовываются они именно там).
Возможно ли это ?
Не поджидают ли меня за такую реализацию в темном переулке ?)
Нужно для использования методов общего назначения, которые и реализованы в этом абстрактном классе.
Подозреваю на что нить подобное типа: "children._construct()" в конструкторе абстракции, только вот не особо силен в синтаксисе.
P.S: Если вы готовы предложить лучшую реализацию - был бы только рад.