Re: Enabling Access to Private Fields

From: Russell B. Eggen (NOreggen_at_gte.netSPAM)
Date: 10/27/03

  • Next message: qdm: "How to authenticate a calling assembly"
    Date: Mon, 27 Oct 2003 11:06:30 -0500
    
    

    In that case, I would add a method to pass along the outside data to other
    methods of the assembly. These internal methods would then safely, without
    breaking your encapsulation, do what you want and send the results back.

    Food for thought. <g>

    -- 
    Russ Eggen
    www.radfusion.com
    "Jeff Benson" <blaster151@hotmail.com> wrote in message
    news:%23Rp2U2JnDHA.2964@tk2msftngp13.phx.gbl...
    Thanks for replying.  I want to make them available for writing *only* to
    the newly fabricated assembly.  They should still be private to everything
    else.  :)
    Basically, what I'm trying to do is dynamically create a data access object
    (that knows how to perform direct field read/sets) based on metadata.  It's
    working perfectly except for the unfortunate fact that the new object
    doesn't have permissions to actually do what it's supposed to do.
    Jeff
    blaster151@hotmail.com
    "Russell B. Eggen" <NOreggen@gte.netSPAM> wrote in message
    news:%23%23SW1n9mDHA.2080@TK2MSFTNGP10.phx.gbl...
    > Why not add a method to return the value of your private fields?  I would
    > not bother with methods that could write to them, otherwise, what would be
    > the point of making them private? <g>
    >
    > -- 
    > Russ Eggen
    > www.radfusion.com
    >
    >
    > "Jeff Benson" <blaster151@hotmail.com> wrote in message
    > news:uJAdfi9mDHA.684@TK2MSFTNGP09.phx.gbl...
    > Hello,
    >
    > I am wondering if it is possible to use declarative security permissions
    (or
    > some other technique) to allow a dynamically synthesized assembly (one
    that
    > I'm compiling on-the-fly from C# code I've built myself at runtime) to
    > access private fields on classes in the assembly that's performing the
    > dynamic compilation.
    >
    > In other words, code in Assembly A wants to dynamically compile a new
    > Assembly B (using the System.CodeDom.Compiler namespace) and allow
    Assembly
    > B to access private fields in Assembly A.  (I could probably make them
    > "protected" or "internal" if I had to, but would prefer to let them remain
    > private.)
    >
    > Since I know that Assembly B could access Assembly A's private fields
    > through reflection (just much more slowly), it seems to me that it must be
    > possible to enable it to access them directly.  I've done some preliminary
    > reading about code-level permissions, but haven't found the solution.  Any
    > advice or even pointers in the right direction would be tremendously
    > appreciated!
    >
    > Thanks in advance,
    >
    > Jeff Benson
    > blaster151@hotmail.com
    >
    >
    >
    

  • Next message: qdm: "How to authenticate a calling assembly"

    Relevant Pages

    • Re: Enabling Access to Private Fields
      ... Why not add a method to return the value of your private fields? ... I am wondering if it is possible to use declarative security permissions (or ... dynamic compilation. ... B to access private fields in Assembly A. (I could probably make them ...
      (microsoft.public.dotnet.security)
    • Re: Enabling Access to Private Fields
      ... They should still be private to everything ... > access private fields on classes in the assembly that's performing the ... > dynamic compilation. ...
      (microsoft.public.dotnet.security)
    • Re: Accesing the private members between the instance of same class
      ... > which defines the private fields it's accessing. ... invoke it once. ... > that methods of a class could only access private fields of the ... For some reason I never thought about class vs. instance in ...
      (comp.object)
    • Re: Accesing the private members between the instance of same class
      ... Er, actually, no - it's only treating mainas a method of the class ... which defines the private fields it's accessing. ... methods may access private fields of any instance ... so it's not a matter of "C-based OOPL's". ...
      (comp.object)