Why do you think it's noise?

2010/8/10 Krzysztof Koźmic <[email protected]>

> none.
>
> XML comments in code are usually noise and Dynamic Proxy is actually one of
> very few places in Castle project that does have them.
>
>
>
>
> On 10/08/2010 9:58 PM, omer katz wrote:
>
>  It's much more comfortable to have them generated to webpages.
> What auto-generation docs are you guys using?
>
> 2010/8/10 Krzysztof Koźmic <[email protected]>
>
>> plus you get xml docs on the interface if it wasnt obvious enough
>>     /// <summary>
>>     /// Encapsulates an invocation of a proxied method.
>>     /// </summary>
>>     public interface IInvocation
>>     {
>>         /// <summary>
>>         /// Gets the proxy object on which the intercepted method is
>> invoked.
>>         /// </summary>
>>         /// <value>Proxy object on which the intercepted method is
>> invoked.</value>
>>         object Proxy { get; }
>> ...
>>
>>
>> On 10/08/2010 9:12 PM, omer katz wrote:
>>
>>  Is it invocation.Proxy?
>> It's pretty annoying that the API is not documented.
>>
>> 2010/8/10 Ken Egozi <[email protected]>
>>
>>> you've got (at least) two options at your disposal:
>>> a. the invocation object has a reference to the object it was running on
>>> (I don't remember the name of the reference by heart). you can then grab the
>>> dictionary from there using reflection
>>> a'. better yet, have the dictionary be an explicitly implemented
>>> interface, and get typed access for it in the interceptor, without polluting
>>> your entity's API
>>> b. you could also keep the dictionary on the interceptor instance (and
>>> make sure you have interceptor per entity and not as singleton) which will
>>> make accessing it a breeze.
>>> example for something similar can be seen here:
>>> http://daniel.wertheim.se/2010/02/05/getting-started-with-mongodb-using-json-net-and-castle-dynamic-proxy/
>>>
>>>
>>> On Tue, Aug 10, 2010 at 12:20 PM, omer katz <[email protected]> wrote:
>>>
>>>>  So I've gotten this far:
>>>>
>>>>> internal
>>>>> class LookupPropertyInterceptor : IInterceptor
>>>>>
>>>>> {
>>>>>     public void Intercept(IInvocation invocation)
>>>>>
>>>>>     {
>>>>>         if (invocation.Method.Name.StartsWith("set_", 
>>>>> StringComparison.OrdinalIgnoreCase)
>>>>> &&
>>>>>
>>>>>         invocation.Method.GetCustomAttributes(
>>>>> typeof(LookupProperty), true).ToList().Count == 1)
>>>>>
>>>>>         {
>>>>>
>>>>>            var property = ((LookupProperty)
>>>>> invocation.Method.GetCustomAttributes(typeof(LookupProperty), true
>>>>> ).ToList()[0]); // Handle property here
>>>>>         }
>>>>>
>>>>>         if (invocation.Method.Name.StartsWith("get_", 
>>>>> StringComparison.OrdinalIgnoreCase)
>>>>> &&
>>>>>
>>>>>         invocation.Method.GetCustomAttributes(
>>>>> typeof(LookupProperty), true).ToList().Count == 1)
>>>>>
>>>>>         {
>>>>>
>>>>>                 var
>>>>>
>>>> property = ((LookupProperty) invocation.Method.GetCustomAttributes(
>>>> typeof(LookupProperty), true).ToList()[0]); // Handle property here
>>>>
>>>>         }
>>>>
>>>>         invocation.Proceed();
>>>>
>>>>     }
>>>>
>>>> }
>>>>
>>>> Now how do I handle the setting and getting to the dict dictionary from
>>>> the source object?
>>>>
>>>>  2010/8/10 Ken Egozi <[email protected]>
>>>>
>>>>> while intercepting you have access to the intercepted MethodInfo.  from
>>>>> there to the attributes set on that method the road is clear
>>>>>
>>>>>  On Tue, Aug 10, 2010 at 11:26 AM, omer katz <[email protected]> wrote:
>>>>>
>>>>>>   Hello,
>>>>>> I am reading Krzysztof Koźmic's tutorial about Dynamic Proxy and I
>>>>>> can't figure out how to intercept all properties that have some custom
>>>>>> attribute.
>>>>>>
>>>>>> Example:
>>>>>>
>>>>>>>  [
>>>>>>> Entity("MyEntityName")] public class MyEntity
>>>>>>>
>>>>>>> {
>>>>>>>     private Dictionary<string, object> dict = new Dictionary<string,
>>>>>>> object>();
>>>>>>>
>>>>>>>     [
>>>>>>> LookupProperty("SomeOtherEntityName")]     public virtual
>>>>>>> SomeOtherEntity SomeOtherEntity { get; set; }
>>>>>>>
>>>>>>> }
>>>>>>>
>>>>>>  In the end result I would like SomeOtherEntity to access the dict
>>>>>> dictionary with "SomeOtherEntityName" as the key.
>>>>>>
>>>>>> Is it possible? How can it be done?
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "Castle Project Users" group.
>>>>>> To post to this group, send email to
>>>>>> [email protected].
>>>>>> To unsubscribe from this group, send email to
>>>>>> [email protected]<castle-project-users%[email protected]>
>>>>>> .
>>>>>> For more options, visit this group at
>>>>>> http://groups.google.com/group/castle-project-users?hl=en.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Ken Egozi.
>>>>> http://www.kenegozi.com/blog
>>>>> http://www.delver.com
>>>>> http://www.musicglue.com
>>>>> http://www.castleproject.org
>>>>> http://www.idcc.co.il - הכנס הקהילתי הראשון למפתחי דוטנט - בואו
>>>>> בהמוניכם
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Castle Project Users" group.
>>>>> To post to this group, send email to
>>>>> [email protected].
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected]<castle-project-users%[email protected]>
>>>>> .
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/castle-project-users?hl=en.
>>>>>
>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Castle Project Users" group.
>>>> To post to this group, send email to
>>>> [email protected].
>>>> To unsubscribe from this group, send email to
>>>> [email protected]<castle-project-users%[email protected]>
>>>> .
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/castle-project-users?hl=en.
>>>>
>>>
>>>
>>>
>>> --
>>> Ken Egozi.
>>> http://www.kenegozi.com/blog
>>> http://www.delver.com
>>> http://www.musicglue.com
>>> http://www.castleproject.org
>>> http://www.idcc.co.il - הכנס הקהילתי הראשון למפתחי דוטנט - בואו בהמוניכם
>>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Castle Project Users" group.
>> To post to this group, send email to
>> [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<castle-project-users%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/castle-project-users?hl=en.
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Castle Project Users" group.
>> To post to this group, send email to
>> [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/castle-project-users?hl=en.
>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Castle Project Users" group.
>> To post to this group, send email to
>> [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<castle-project-users%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/castle-project-users?hl=en.
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Castle Project Users" group.
> To post to this group, send email to [email protected]
> .
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/castle-project-users?hl=en.
>
>
>   --
> You received this message because you are subscribed to the Google Groups
> "Castle Project Users" group.
> To post to this group, send email to [email protected]
> .
> To unsubscribe from this group, send email to
> [email protected]<castle-project-users%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/castle-project-users?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/castle-project-users?hl=en.

Reply via email to