今までVBを避けてきました。
何故かってC系が好きだから。以上!!
でも、仕事ではそうもいかず、今日はVBでPInvokeなことをいっぱいやった。
いやはや、属性のつけ方も覚えて無かったですよ。
クラス
<Serializable()>
Public Class Person
End Class
これはコンパイルエラー。正しくは、>の後にスペースあけて_がいる。
<Serializable()> _
Public Class Person
End Class
要は、デフォだと属性も含めて1行で書きなさいよ!ってことなんだろう。
<Serializable()> Public Class Person
End Class
メモメモ。
メソッド
メソッドも基本的にクラスと同じみたいだ。
なので、書き方は省略。
引数
メソッドの引数に、属性もつけれるってことで付けてみよ。これも今までと同じ感じでいけるみたいだ。
ただ、PInvokeのときにはまった…
Inって属性がVBのキーワードっぽくて、それキーワードじゃね?って感じで怒られる。
こういう時は[]で囲ってあげるといいらしい。
ということでInという属性つけるときはこうなるみたい。
<Serializable()> Public Class Person
Public Function Foo(<[In]()> ByVal a As Integer) As Boolean
Return True
End Function
End Class
後は、属性に色々値を渡すとき…
<Hoge("Default", Attr1:=Value1, Attr2:=Value2)>
みたいに書くらしい。 :=がわからなくて、30分くらいワタワタしてた今日この頃でした。