なんか言語知ってる子が新しい言語環境を覚える時はさっさとリフレクションを修得すべき。 Boo というより C# のドメインなんだろうけど。というわけでさっきの res (型は IAsyncResult とからしい) のメソッド一覧。
i@u ~/test/boo> cat reflection.boo def func(): pass res = func.BeginInvoke() for i in res.GetType().GetMembers(): print i i@u ~/test/boo> booi reflection.boo System.Object get_AsyncState() System.Threading.WaitHandle get_AsyncWaitHandle() Boolean get_CompletedSynchronously() Boolean get_IsCompleted() Boolean get_EndInvokeCalled() Void set_EndInvokeCalled(Boolean) System.Object get_AsyncDelegate() IMessageSink get_NextSink() IMessageCtrl AsyncProcessMessage(IMessage, IMessageSink) IMessage GetReplyMessage() Void SetMessageCtrl(IMessageCtrl) IMessage SyncProcessMessage(IMessage) Boolean Equals(System.Object) Int32 GetHashCode() System.Type GetType() System.String ToString() System.Object AsyncState System.Threading.WaitHandle AsyncWaitHandle System.Boolean CompletedSynchronously System.Boolean IsCompleted System.Boolean EndInvokeCalled System.Object AsyncDelegate System.Runtime.Remoting.Messaging.IMessageSink NextSink
ついでにコンテナをなめる処理が出てきたので次に続く。