- D言語 Part34©2ch.net
276 :デフォルトの名無しさん[]:2015/11/20(金) 22:50:35.51 ID:KMWFgUCm - クラスのstaticメンバ関数で、継承先の型って見られますか?
class Base { static T[] takusanMake(T)(int n) { //Hogeから呼んでT=Hogeがほしい T[] ret = new T[n]; foreach (ref e; ret) { e = new T; } // ... Baseのフィールドしかいじらないような設定 ... return ret; } } class Hoge : Base { } void main() { //Hoge auto hoge = Hoge.takusanMake(30); } 内容はともかく、大体こんな感じのことをしたいです Baseから派生したクラスで定義するとか、ちゃんと!(Hoge)してもいいんですが、 (this T)を見てから何か方法があるような気がしてきて・・・
|
|