Есть ли какой-либо язык, который имеет форму шаблона кода? Позвольте мне объяснить, что я имею в виду ... сегодня я работал над проектом 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 ...
Я понимаю, что это может сломаться в основном тип, имя и значение по умолчанию.
Я видел эту статью, которая похожа на то, что я представляю, но не имеет места для параметров (по умолчанию).
Но я думал, много раз, когда код разбивается в шаблоны.
Например, синтаксис может пойти как таковой:
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 # с отражением, однако это медленно, и это должно сделать во время компиляции.
Итак, вопрос: возможно ли этот тип функциональности в любом существующем языке программирования?