• 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!

C# indexers

DimPrawn

Richer than sasguru
Thanks received
1,182
Can anyone explain WHY C# does not support static indexers :mad:

eg.

PHP:
		public static string this[string key]
		{
			get
			{
				NameValueCollection config = (NameValueCollection)ConfigurationSettings.GetConfig("mysection/mysettings");
				return config[key];
			}
		}

They would be very useful.
 
static

static

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.....
 
fudge

fudge

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;
}
}
}
 

Advertisers

Back
Top