[Mono-list] How to do code injection with .NET

Roelof Blom roelof@blombrothers.com
Fri, 21 Feb 2003 11:12:03 +0100


Hi,

eXtensible C# (http://www.resolvecorp.com/products.htm) allows you to do 
this (under MS.NET). Unfortunately, it's not open source although you 
can download and use it for free.

Roelof.

Philippe Lavoie wrote:

> Hi,
>
> I’ve been reading a little about Aspect Oriented Design. And it seems 
> objects inheriting from ContextBoundObject allow you to do that, 
> although with some limitation, i.e. the framework only work with a 
> context per class maximum (I couldn’t find a way to have a new context 
> for every method call inside the same class).
>
> I was wondering if I could do something like in J2EE, i.e.
>
> [Priviledge(“EditProfile”)]
>
> public void EditMethod(){
>
> ...
>
> }
>
> The above would in turn inject code inside the method that would be like
>
> public void EditMethod(){
>
> if(! ContextUtils.GetPriviledgeContext().HasPriviledge(“EditProfile”)){
>
> throw Security(“Insufficient priviledge”);
>
> }
>
> ...
>
> }
>
> Is there a way at compile time (or runtime) to do this with mono (or 
> MS.NET)?
>
> Thanks
>
> Phil
>