D 编程/Mixin
外观
< D 编程
Mixin 是将模板副本复制到指定位置的可能性。
template t(T){ T get(){ return mValue; } }
这本身没有意义。但是如果你想将它插入一个类,该类有一个成员变量 mValue,这可能是有意义的。
class C{ private int mValue; mixin t!(int); }
您可以使用 Mixin 从片段中组装一个类。
如果您需要一种方法让您的 Mixin 为外部类所知,您可以使用静态构造函数。
template t(T){ static this(){ sMixinCounter++; } } class C{ private static int sMixinCounter; private int mValue; mixin t!(int); }
如果您想使用多个这样的 Mixin,它们必须被命名,以避免链接器错误。
class C{ private static int sMixinCounter; private int mValue; mixin t!(int) t1; mixin t!(int) t2; }