public override void Delete() { // В этом методе у объектов с переводом удаляется ссылка на текущий объект (this) // Если после удаления this у объектов с переводом их коллекция Translation не имеет объектов, тогда // у этих объектов вызывается метод Delete base.Delete(); EnPhrasesDb.Remove(this); }
public T GetPhrase <T>(string phrase) where T : PhraseAndTranslation { PhraseAndTranslation phraseObj = null; if (typeof(T) == typeof(RuPhraseAndTranslation)) { phraseObj = RuPhrasesDb.FirstOrDefault(p => p.Phrase.Equals(phrase)); } else { phraseObj = EnPhrasesDb.FirstOrDefault(p => p.Phrase.Equals(phrase)); } return(phraseObj as T); }