Re: return object of an unknown type
- From: "Alexander Widera" <awid@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 25 Jan 2007 13:07:52 +0100
thanks for your answer, but i think this issn't the result of my problem
i don't want to make a usual cast ...
in a variable should be the type of an object and a method should return an
other object as this type.
perhaps i have to specifize the situation:
i have 2 classes ... MyMainClass and MyClass2 ... MyClass2 is derived of
MyMainClass
in MyMainClass there is an Method like this
public virtual OtherObject GetData()
{
// .. a lot work to do...
return (OtherType)privateObject);
}
privateObject is a variable of the type "object" and the method returns it
casted to "OtherType".
in MyClass2 this Method should not return the privateObject casted to
"OtherType" ... it should return it casted to "AnotherType"...
because there is much to do in this method (not shown above), i don't want
to rewrite the method completely for every child-class of MyMainClass...
has somebody an idea?
Alex
"DeveloperX" <nntpDev@xxxxxxxxxxxxx> schrieb im Newsbeitrag
news:1169725489.167238.325700@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Yes you can, but you should really have a very good reason for not
knowing in advance what the object type is.
Critically you need to understand a little about inheritence.
Everything in dotnet is derived from object, so a variable of type
object can hold anything. There are several ways of casting from one
type to another.
Here's some code.
object of;
object ot;
Form f = new Form();
TextBox t = new TextBox();
of=f;
ot=t;
f=null;
//cast example
f=(Form)of;
//this will throw an exception so commented out
//f=(form)ot;
//safe way of doing it.
f = of as Form;
if(null != f)
{
Console.WriteLine("of is a form");
}
//f should be null after this as ot points at a textbox
f = ot as Form;
if(null == f)
{
Console.WriteLine("ot is not a form");
}
On 25 Jan, 10:57, "Alexander Widera"
<a...@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
hi,
is it possible to return an object of an unknown (but not really unknown)
type with an method?
i have the following situation:
- a variable (A) of the type "object" which contains the object
- a variable (B) of the type "Type" which contains the type of the object
in
(A) (A should be of the type B)
- a method which should return the object (A) as type (B)
it sounds very simple, if you hard-code it, but it should be a little
more
dynamic.
here something in c#-pseudocode:
object myobject = ...
Type typeofobject = ...
public typeofobject GetTheObject()
{
return (typeofobject) myobject;
}Could you help me please?
Thanks in advance,
Alex
.
- Follow-Ups:
- Re: return object of an unknown type
- From: Allan Ebdrup
- Re: return object of an unknown type
- From: DeveloperX
- Re: return object of an unknown type
- References:
- return object of an unknown type
- From: Alexander Widera
- Re: return object of an unknown type
- From: DeveloperX
- return object of an unknown type
- Prev by Date: Re: What's the new thing after ActiveX?
- Next by Date: Re: DataTable.Select Bug????
- Previous by thread: Re: return object of an unknown type
- Next by thread: Re: return object of an unknown type
- Index(es):
Relevant Pages
|