I need (as an option) this for my O/R mapping software because I want to be able to use mutliple languages.
I have:
1. "Stubs" assembly - written in C# - that must be able to create objects from "Objects" assembly to represent 1-1 relations and 1-N relations. 2. "Objects" assembly - written in some other language whose classes inherit from the appropriate classes in "Stubs" assembly
So I have a mutual dependency here. But as I've said this is optional. If you stict to C# you have just a single assembly with no interdependencies.
Sounds like what you need is an IObjectCreator interface, defined in Stubs and implemented in Objects.
eg, in the Stubs assembly:
public interface IObjectCreator {
object CreateObject();
}
public class FooStub {
IObjectCreator ioc; void Twiddle() {
object o = ioc.CreateObject();
// do something with o
}
}in the Objects assembly:
public class Foo : FooStub {
class FooCreator : IObjectCreator {
public object CreateObject() {return new Foo();}
}
public Foo() {
ioc = new FooCreator();
}
}The only problem is the need to explicitly define FooCreator for each class by hand. Depending on your circumstances, that may or may not be a killer problem.
Stuart.
-- Stuart Ballard, Senior Web Developer NetReach, Inc. (215) 283-2300, ext. 126 http://www.netreach.com/
_______________________________________________ Mono-list maillist - [EMAIL PROTECTED] http://lists.ximian.com/mailman/listinfo/mono-list
