It took me a few hours of research and trial and error but I think this
will work:

user=> (def foo-handler
(reify System.Web.IHttpHandler
(get_IsReusable [this] false)
(ProcessRequest [this context] ())))
#'user/foo-handler
user=>


On Mon, Dec 9, 2013 at 12:38 PM, Frank Hale <frankh...@gmail.com> wrote:

> 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.

Reply via email to