[過去ログ] SlimDXについて語ろうぜ (197レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
79: 2010/12/21(火)13:40 ID:589aNUur(1/3) AAS
頂点扱うメソッドやクラスはなんでもかんでも<TVertex>と書きたいということ?
インターフェイス使って
interface IPosition3D { Vector3 Position3D { get; set; } }
interface ITexCoord2D { Vector2 TexCoord2D { get; set; } }
where TVertex : struct, IPosition3D, ITexCoord2D みたいな感じで可能
構造体の場合は実行時に特殊化されるのでインターフェイス経由のメンバアクセスでもボックス化は発生しないけど
プロパティ経由だからインライン展開されたとしてもコピーは消えないのでどうしても遅くなるのは仕方ない
省1
82
(2): 2010/12/21(火)16:03 ID:589aNUur(2/3) AAS
それだったら別にリフレクションなんか使わなくても
VertexElement[]を返すプロパティを宣言したインターフェイスをHOGEVertexに実装させて
whereで要求すればいいだけじゃないの?
85
(1): 82 2010/12/21(火)16:15 ID:589aNUur(3/3) AAS
直接関係ないけどGetCustomAttributesがフィールドの宣言順に返ってくる保証は無いよ。
順番が保証されてるフィールド情報の列挙方法はリフレクションAPIには無いので、
VertexElement属性には明示的にインデックスを付ける必要がある。
どうせリフレクション使うんだったら、staticプロパティとしてVertexElement[]を返すプロパティを定義してしまって
そっちに属性を付けた方がいいかもしれない。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.008s