Быстрые Интерфейсы - количество создаваемых объектов

Дополнительный метод:

public static void AddRange<T, S>(this ICollection<T> list, params S[] values)
    where S : T
{
    foreach (S value in values)
        list.Add(value);
}

метод касается всех типов и позволяет Вам добавить диапазон объектов к списку как параметры.

Пример:

var list = new List<Int32>();
list.AddRange(5, 4, 8, 4, 2);
5
задан vdh_ant 13 July 2009 в 07:33
поделиться

1 ответ

Обратите внимание, что вам не обязательно создавать новые объекты повсюду. Вы можете просто решить большую часть плавного интерфейса через интерфейсы и просто реализовать множество интерфейсов на одном объекте. В этом случае вы можете просто вернуть этот через новый интерфейс.

Пример:

public interface ICheckAssertionForValue
{
    ICheckAssertionForValueThat That(Object value, String name);
}

public interface ICheckAssertion
{
    ICheckAssertionForValue ForValue { get; }
}

public class Check : ICheckAssertion
{
    public static ICheckAssertion Assertion
    {
        get { return new Check(); }
    }

    ICheckAssertionForValue ICheckAssertion.ForValue
    {
        get { return this; } // <-- no new object here
    }

    ICheckAssertionForValueThat ICheckAssertionForValue.That(Object value, String name)
    {
        return new SomeOtherObject(value, name);
    }
}
9
ответ дан 14 December 2019 в 01:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: