I also tried deftype (deftype foo-handler [] System.Web.IHttpHandler (get_IsReusable [this] false) (ProcessRequest [this context] ()))
InvalidCastException Unable to cast object of type 'clojure.lang.Var' to type 'System.Type'. clojure.lang.Namespace.ReferenceClass On Mon, Dec 9, 2013 at 12:24 PM, Frank Hale <frankh...@gmail.com> wrote: > Hi John, > > Yes I've tried adding get_ to the property name but I'm still not doing > something correctly. > > (defn foo-handler [] > (reify System.Web.IHttpHandler > (get_IsReusable [] false) > (ProcessRequest [context] ()))) > > CompilerException clojure.lang.CljCompiler.Ast.ParseException: Must supply > at least one argument for 'this' in: get_IsReusable > > If I supply 'this' in the arg list for get_IsReusable I get another error > (which is correct because get_IsReusable is a zero arg function): > > CompilerException clojure.lang.CljCompiler.Ast.ParseException: Can't > define method not in interfaces: get_IsReusable > > > > > > On Mon, Dec 9, 2013 at 12:15 PM, John D. Hume <duelin.mark...@gmail.com>wrote: > >> If I recall, properties are just syntactic sugar for awkwardly named >> methods. Have you tried the compiler-generated get and set method-names? >> On Dec 9, 2013 9:50 AM, "Frank Hale" <frankh...@gmail.com> wrote: >> >>> I'm trying to implement an interface that has properties but can't >>> quite seem to get it to work and I also have not found any relevant >>> examples via Google (yet). I'm sure I'm doing something completely wrong >>> here but have no idea how to fix it. >>> >>> (System.Reflection.Assembly/LoadWithPartialName "System.Web") >>> >>> (defn foo-handler [] >>> (reify System.Web.IHttpHandler >>> (IsReusable [] false) >>> (ProcessRequest [context] ()))) >>> >>> IsReusable is a property and I don't know how to tell reify that it is >>> not a traditional function. >>> >>> CompilerException clojure.lang.CljCompiler.Ast.ParseException: Must >>> supply at least one argument for 'this' in: IsReusable >>> >>> Okay, I supply 'this' for IsReusable >>> >>> CompilerException clojure.lang.CljCompiler.Ast.ParseException: Can't >>> define method not in interfaces: IsReusable >>> >>> >>> -- >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To post to this group, send email to clojure@googlegroups.com >>> Note that posts from new members are moderated - please be patient with >>> your first post. >>> To unsubscribe from this group, send email to >>> clojure+unsubscr...@googlegroups.com >>> For more options, visit this group at >>> http://groups.google.com/group/clojure?hl=en >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to clojure+unsubscr...@googlegroups.com. >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >> -- >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clojure@googlegroups.com >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+unsubscr...@googlegroups.com >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.