+2009-09-30 Atsushi Enomoto <atsushi@ximian.com>
+
+ * MoonlightChannelBaseExtension.cs : add CreateChannel() override.
+
2009-08-10 Atsushi Enomoto <atsushi@ximian.com>
* MoonlightChannelBaseExtension.cs : fixed a couple of generated
ctor.BaseConstructorArgs.Add (
new CodeArgumentReferenceExpression ("client"));
type.Members.Add (ctor);
+
+ // In Client type:
+ // protected override TChannel CreateChannel()
+ var creator = new CodeMemberMethod ();
+ creator.Name = "CreateChannel";
+ creator.Attributes = MemberAttributes.Family | MemberAttributes.Override;
+ creator.ReturnType = gt;
+ creator.Statements.Add (
+ new CodeMethodReturnStatement (
+ new CodeCastExpression (
+ gt,
+ new CodeObjectCreateExpression (
+ new CodeTypeReference (name),
+ new CodeThisReferenceExpression ()))));
+ parentClass.Members.Add (creator);
}
}
var type = ml_context.ChannelType;
var od = context.Operation;
+ // BeginXxx() implementation
CodeMemberMethod cm = new CodeMemberMethod ();
type.Members.Add (cm);
cm.Name = "Begin" + od.Name;