# Is this really impossible?

**URL:** <https://www.ruby-forum.com/t/is-this-really-impossible/163135>\
**Category:** IronRuby\
**Created:** [March 17, 2009, 4:23pm UTC](https://www.ruby-forum.com/t/is-this-really-impossible/163135 "2009-03-17T16:23:48Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![barby](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/c57346/32.png) [@barby](https://www.ruby-forum.com/u/barby)\
**Post date:** [March 17, 2009, 4:23pm UTC](https://www.ruby-forum.com/t/is-this-really-impossible/163135/1 "2009-03-17T16:23:48Z")

</div>

Hi,

I’m trying to teach Ninject some new tricks by introducing it to the  
DLR.  
So far I’ve got a config DSL in a working state and now I’m looking at  
making it work with types implemented in a DLR language.

I’ve only looked at this part as a concept. In an ideal case you would  
be  
able to just inject a dynamic type by its class or module name. I don’t  
know how far the C# 4 dynamic keyword will take me.  
In my ideal case the compiler will start complaining because none of the  
methods exist at compile-time. Is there a way for me to suss the  
compiler  
so that it doesn’t care whether or not its an existing method in C# 3.  
AFAIK  
it isn’t possible, and I realise that I want to sideline the compiler  
then.

Failing that there are several other approaches that I can take to do  
make  
it work none of which come close to my ideal case.

I can create a dynamic object container where I can call methods through  
a  
string, or I can just treat dynamic objects as if they were dictionaries  
that group methods.

Or the user of Ninject needs to define an interface and make the dynamic  
object implement that interface. That way you keep compile time checking  
and  
the compiler will actually be happy without having to hack it too much.  
The  
downside is that you would again have to do a small amount of work in  
C#.  
On the other hand if you’re using Ninject you’re probably already using  
a  
statically compiled language.

Any thoughts?
