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;
}