[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: Nothing, Null, Emptyとの死闘(Re: getterの命名について)




本当は江藤潔師範の「VBプログラミング道場」に入門した方が良いえんどうです。
(長いぞ..)

> > Variant 型変数には何でも代入できるので、
> > オブジェクト型も代入できます。
> > 
> > さあ何が起こるでしょうか? (^^)
> 
> Nullというオブジェクトだとか?
> 
> #オブジェクトならIsNull()って聞けるし。

オブジェクトがちゃんと代入されている Variant なら IsNull() が使えます。
そうでない空の Variant では、まず IsEmpty() で空かどうか調べますです。

# いつも IsEmpty でハマっているからこれは嘘かも。

> または、オブジェクト変数、Variant型変数自体がオブジェクトとか?

たぶんそれほど高級ではないと思います。

> もしかして全部OK(使える)になってしまうんでしょうか?

Dim v As Variant                'って宣言して、
v = New SomeClass               'これで代入できたかなあ..
If Not IsEmpty(v) Then
     If Not IsNull(v) Then
          result = v.someMethod 'renult も Variant です
     EndIf
EndIf

こんな感じだと思います。(われながら怪しいコード..)

たしか構造化例外は無いので、
On Error Goto <ラベル> 構文でエラー発生時のジャンプ先を宣言できます。
(悲惨..)

# 「誰にも分からないVB講座」も希望します(@xxxxxxxxxx_@xxxxxxxxxx)>師範

---
ENDO Yasuyuki <yasuyuki@xxxxxxxxxx>
http://www.javaopen.org/jfriends/index.html (Japanese Only)