Ognacの雑感

木漏れ日々

目次

Blog 利用状況

書庫

ギャラリ

Genericの制約の意味がやっとわかりました。

以前(2006年9月15日)の私の記事で「Genericにこんな仕様が欲しい」をUpしたところ早速、επιστημηさんから

>Public Class C(Of T As New) '← 注目!
と教えて頂いたことがありました。ありがとうございました。

 その時は、動作ことに満足して、仕組みが消化不良だったのですが、先日,プログラミングC#を読んでいて理解できました。

AS xxx は制約で c# の Where相当なんですね。  of T AS xxx と した場合の制約は,  「xxxxが持つMemberを 持つTに限定する」という意味でした。
簡単に理解すると ctype(T ,xxx).New() が実行可能なものが許可されるので,  new T が成立すると言うこと。

スッキリ理解。 VB/C# 双方の資料を読む大切さを痛感しました。

ということは,  整数制約をつければ,整数演算子の使用が可能になるかと試しました。
Public class C (of T as int32)
end  class

 とすれば    C = C + 4  が 可能かと邪推したのですが,値型は対象外でした。(以前メンバーの記事にもありました。)
ウーン残念。

投稿日時 : 2006年11月1日 13:52

Feedback

No comments posted yet.
タイトル
名前
Url
コメント