Есть ли какой-либо язык, который использует шаблон кода?

Есть ли какой-либо язык, который имеет форму шаблона кода? Позвольте мне объяснить, что я имею в виду ... сегодня я работал над проектом C #, в котором один из моих классов был очень повторяющимся, серия свойств Getter и Getters.

    public static int CustomerID
    {
        get
        {
            return SessionHelper.Get("CustomerID", 0); // 0 is the default value
        }
        set
        {
            SessionHelper.Set("CustomerID", value);
        }
    }

    public static int BasketID
    {
        get
        {
            return SessionHelper.Get("BasketID", 0); // 0 is the default value
        }
        set
        {
            SessionHelper.Set("BasketID", value);
        }
    }

... and so forth ...

Я понимаю, что это может сломаться в основном тип, имя и значение по умолчанию.

Я видел эту статью, которая похожа на то, что я представляю, но не имеет места для параметров (по умолчанию).

Общее свойство в C #

Но я думал, много раз, когда код разбивается в шаблоны.

Например, синтаксис может пойти как таковой:

public template SessionAccessor(obj defaultValue) : static this.type this.name
{
     get
     {
          return SessionHelper.Get(this.name.ToString(), defaultValue);
     }
     set
     {
          SessionHelper.Set(this.name.ToString(), value);
     }
}

public int CustomerID(0), BasketID(0) with template SessionAccessor;
public ShoppingCart Cart(new ShoppingCart()) with template SessionAccessor; // Class example

Я чувствую, что у этого будет много возможностей в письменном виде, сухой код. Этот тип вещи будет несколько достижимы в C # с отражением, однако это медленно, и это должно сделать во время компиляции.

Итак, вопрос: возможно ли этот тип функциональности в любом существующем языке программирования?

7
задан Community 23 May 2017 в 12:22
поделиться