Есть пара стратегий, которые вы можете использовать.Наследование является наиболее очевидным.Вы могли бы также рассмотреть состав.Не могли бы вы дать нам более подробную информацию о том, что это за объект и какие свойства нужно добавить к нему и почему?
После просмотра расширенного вопроса:
Любая стратегия, описанная выше (состав или наследование)), вероятно, будет работать для вас.Лично я предпочитаю композицию.Я думаю, что это лучше изолирует вас от изменений, которые могут быть сделаны в сторонней библиотеке.Это также вынуждает вас работать через открытый интерфейс библиотечного класса, который предпочтителен, если у вас нет знаний или контроля над внутренними компонентами класса.
Вот самый базовый пример композиции.
public CompositeClass
{
private ResultClass _resultClass = new ResultClass();
public IList<Item> Results
{
get { return _resultClass.Results; }
set { _resultClass.Results = value; }
}
public int TotalResults
{
get { return _resultClass.TotalResults; }
set { _resultClass.TotalResults = value; }
}
//
// New Property
//
public string Description { get; set; }
}