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