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 -