No, it's not a object/relational mapping layer. The problem I have is how to require a parameterless ctor. I don't mind a two phase init, but I can't get the compiler to complain if I don't have a ctor of a specific signature.
Thanks, Shawn Wildermuth [EMAIL PROTECTED] > -----Original Message----- > From: dotnet discussion [mailto:[EMAIL PROTECTED]] > On Behalf Of Murphy, James > Sent: Tuesday, May 07, 2002 10:42 AM > To: [EMAIL PROTECTED] > Subject: Re: [DOTNET] Confusion about the Type system... > > > Would a custom interface get you out of the weeds? Then just > require a parameterless ctor that initializes fields to > benign values and call the interface .Init/Create etc. > > BTW, this wouldn't be an Object/Relational mapping layer would it? > > Jim > > > -----Original Message----- > > From: Shawn Wildermuth [mailto:[EMAIL PROTECTED]] > > Sent: Tuesday, May 07, 2002 10:24 AM > > To: [EMAIL PROTECTED] > > Subject: [DOTNET] Confusion about the Type system... > > > > > > Please help me understand this stuff. I am missing something > > important... If anyone knows of a good > reference/description of the > > type system, I'd really appreciate a link. > > > > Here is my problem: > > > > I have a system where I have a base class (called Profile) > that knows > > how to store itself in the database. It stores its data in the > > database and its Assembly Qualified Type Name. At runtime I am > > reading the Assembly Qualified Type Name and using > > Activator.CreateInstance to create the object in memory. I > use this > > system because derived types may not be located in an > assembly that I > > have access to at compile-time. > > This works fine except that I need to require a certain type of > > constructor to be available to know how to construct the > > objects (there > > are certain data requirements that necessitate the need for > a certain > > style of constructor). So I would like to do one of two > > things (neither > > of which I can get to work yet): > > > > 1. Specify in my base class that a constructor style is > required (like > > marking it abstract, but C# doesn't support this of course) .or. > > 2. Create objects of the Type of my base class and at > runtime, up-cast > > them to the new type. > > > > The nature of these objects is that the base class holds data > > structures that actually hold all the data for derived classes so I > > don't need to worry so much about an up-casting needing more memory > > allocated (since in the usual case the derived class may be > larger in > > memory than the base class). I like option #1 as it is a lot more > > clean, but I just hate the idea that I can only assert this at > > runtime. If I could get derived classes to get a compiler error or > > warning if they didn't implement the required constructor, > I'd be all > > set. > > > > Ideas? > > > > Thanks, > > > > Shawn Wildermuth > > [EMAIL PROTECTED] > > http://adoguy.com > > http://shawnwildermuth.com > > > > "...for the programmer, as for the chef, the urgency of the > patron may > > govern the scheduled completion of the task, but it cannot > govern the > > actual completion. An omelette, promised in two minutes, > may appear to > > be progressing nicely. But when it has not set in two minutes, the > > customer has two choices--wait or eat it raw. Software > customers have > > had the same choices. The cook has another choice; he can > turn up the > > heat. The result is often an omelette nothing can > save--burned in one > > part, raw in another.... " - Brooks, The Mythical Man-Month. > > > > You can read messages from the DOTNET archive, unsubscribe from > > DOTNET, or subscribe to other DevelopMentor lists at > > http://discuss.develop.com. > > > > You can read messages from the DOTNET archive, unsubscribe > from DOTNET, or subscribe to other DevelopMentor lists at > http://discuss.develop.com. > You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.
