Thank-you Cerebrus for your response.

Karsten,
why are you casting al[vm] to an object?  Split it up into two lines,
The first casting al[vm] to the type of object that you expect (some
sort of indexable object ( ie; List or ArrayList))
The second grabbing item 0 of that object.

For instance
ArrayList names;
for (int vm = 0; vm <= al.Count - 1; vm++)
               {
                   //dp = (object)al[vm][0];
                   //vmName = (string)al[vm][1];

                   names = (ArrayList)al[vm];
                   Console.WriteLine(names[1]);
               }

Steve
On May 12, 3:08 am, Cerebrus <[email protected]> wrote:
> No, it will not. This is C#. If it were VB and Option Strict were off,
> the OP may have been able to take advantage of implicit casting.
>
> On May 11, 11:40 pm, "[email protected]" <[email protected]>
> wrote:
>
> > Cerebrus,
>
> > Would the item not be automatically cast to an indexable type if
> > vmName were initially declared as such?
> > I was working under the assumption that it would.
>
> > Steve-0
>
> > On May 11, 12:25 pm, Cerebrus <[email protected]> wrote:
>
> > > An ArrayList holds objects (instances of type Object). It does not
> > > enforce strong typing. Therefore, you cannot directly set the item at
> > > index "i" to vmName (whatever type that variable is defined as).
>
> > > You will need to cast the object at position "i" to the type of object
> > > at each index. Only then can it be queried further.
>
> > > On May 11, 5:33 pm, Karsten_Markmann <[email protected]> wrote:
>
> > > > Hi
> > > > I am having some third party code that returns me an ArrayList.
> > > > In this list there are X number of objects that each hold 2 objects.
> > > > I must retrieve the object on postion [1] of each object returned in
> > > > the list.
>
> > > > I have the following code snippet, which gives me a compiler error:
> > > > Cannot apply indexing with [] to an expression of type 'object'
>
> > > >  ArrayList al = new ArrayList();
>
> > > >  al = clientInfo.SvcUtil.GetDecendentMoRefs(mor, "VirtualMachine");
>
> > > >                for (int vm = 0; vm <= al.Count - 1; vm++)
> > > >                {
> > > >                    vmName = al[vm];
>
> > > >                    Console.WriteLine(vmName[1]);
> > > >                }
>
> > > > I am a bit stuck, solving this problem. Any help is appriciated.
> > > > Kind Regards
> > > > Karsten Markmann- Hide quoted text -
>
> > - Show quoted text -

Reply via email to