By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
457,730 Members | 1,120 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 457,730 IT Pros & Developers. It's quick & easy.

<cannot view indexed property>

P: n/a

Hi,

I have created a collection of a custom class. Everything works fine (can add these items in a combo from within a VB.NET application, for instance), but when looking at the collection from a VB.NET application in the Watch window, I cannot see the items of the collection. The message in the Watch window's "value" says: "<cannot view indexed property>." Below is the code I wrote.

Any idea of what is wrong? Or is the error message "correct"?

Thanks a lot.
Mike


public class Companies : IEnumerable {

ArrayList m_oCompanies = null;

public Companies() { // Nothing is done in the constructor. }
public void Add(Company oCompany) {...}
public Company this[int index] {
get { return (Company)m_oCompanies[index]; }
}

public int Count { ... }

}

public IEnumerator GetEnumerator() { return new CompaniesEnumerator(m_oCompanies); }

// Inner class implements IEnumerator interface:
class CompaniesEnumerator : IEnumerator {

int index;
ArrayList m_oCompanies;

public CompaniesEnumerator(ArrayList oCompanies) { this.m_oCompanies = oCompanies; }

public bool MoveNext() { return (++index < m_oCompanies.Count); }

public object Current {
get {
if (index < m_oCompanies.Count) return m_oCompanies[index];
else
return null; }
}

public void Reset() { ... }
Nov 20 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Mike,

The watch window cannot view properties that have an indexer. If you need to
see the contents of an indexed property, specify the index as part of the
watch.

e.g.

m_oCompanies.Item(0)

You'll get an exception if the index you specify is out of range.

On a side note, I didn't know you could compile C# code with VB.net ;) (your
source is c#, but your post refers to VB)

HTH,

Trev.
"Mike" <no****@hotmail.com> wrote in message
news:Ou**************@TK2MSFTNGP10.phx.gbl...

Hi,

I have created a collection of a custom class. Everything works fine (can
add these items in a combo from within a VB.NET application, for instance),
but when looking at the collection from a VB.NET application in the Watch
window, I cannot see the items of the collection. The message in the Watch
window's "value" says: "<cannot view indexed property>." Below is the code I
wrote.

Any idea of what is wrong? Or is the error message "correct"?

Thanks a lot.
Mike


public class Companies : IEnumerable {
ArrayList m_oCompanies = null;

public Companies() { // Nothing is done in the constructor. }
public void Add(Company oCompany) {...}
public Company this[int index] {
get { return (Company)m_oCompanies[index]; }
}
public int Count { ... }
}
public IEnumerator GetEnumerator() { return new
CompaniesEnumerator(m_oCompanies); }
// Inner class implements IEnumerator interface:
class CompaniesEnumerator : IEnumerator {
int index;
ArrayList m_oCompanies;
public CompaniesEnumerator(ArrayList oCompanies) { this.m_oCompanies =
oCompanies; }
public bool MoveNext() { return (++index < m_oCompanies.Count); }
public object Current {
get {
if (index < m_oCompanies.Count) return m_oCompanies[index];
else
return null; }
}
public void Reset() { ... }
Nov 20 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.