Подобный Python список, распаковывающий в C#?

Для получения подробной информации вы можете обратиться к документации Shopify по Создание альтернативных шаблонов или к аналогичному сообщению в блоге в Блоге партнеров.

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

Пример изнутри collection.liquid

{% if collection.handle == 'collection-1' %}
  {% section 'collection-filters-1' %}
{% elsif collection.handle == 'collection-2' %}
  {% section 'collection-filters-2' %}
{% else %}
  {% section 'collection-filters-default' %}
{% endif %}

8
задан ryeguy 20 February 2009 в 04:28
поделиться

4 ответа

Ну, самым близким было бы отражение, но это находится на медленной стороне..., но взгляде на MethodInfo. Вызвать...

6
ответ дан 5 December 2019 в 14:06
поделиться

Вы наклоняетесь, можно сделать вещи, которые являются, соглашаются с небольшим количеством помахивания руки (или уступают foreach или добавляют foreach дополнительный метод на наборе, который берет лямбду), но ничто столь изящное, как Вы входите в Python.

1
ответ дан 5 December 2019 в 14:06
поделиться
Func<List<float>, float> add = l => l[0] + l[1];
var list = new List<float> { 4f, 5f };
add(list); // 9

или:

Func<List<float>, float> add = l => l.Sum();
var list = new List<float> { 4f, 5f };
add(list); // 9

Является самым близким, Вы входите в c#, полагая, что это со статическим контролем типов. Можно изучить сопоставление с образцом F# для точно, что Вы ищете.

0
ответ дан 5 December 2019 в 14:06
поделиться

С LINQ можно сделать это, которое достаточно близко к примеру.

 var list = new List<int> { 3, 4 };
 var sum = list.Sum();
1
ответ дан 5 December 2019 в 14:06
поделиться
Другие вопросы по тегам:

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