Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!
an indexer is used to access instance data within a collection. Static methods & properties cannot access instance data so there would be little point in having one....
But you have static methods and properties to access static data so why not support having a static indexer to access static data?
A static indexer would be nice when you have multiple static values that you would like to access by index or key, such as configuration data, that is not instance specific.
Anyway, just seems odd not to support such a concept when C# supports static methods and properties.....
you can fudge this functionality by using the following, MS use this internally in the framework, using reflector check how Items property of the ListView control works
public class MyCollection
{
// Indexer
public MyCollection this[int index]
{
get
{
// Return an item of MyCollection here
}
}
}
public class foo
{
private static MyCollection staticColl;
// Property that returns the collection
public static MyCollection coll
{
get
{
return staticColl;
}
}
}