Is it possible to create a class in .NET 4 with:
For example, this C# class will not compile for me:
public class MyClass
{
public object Item { get; set; }
public object this[string index] { get { return null; } set { } }
}
The compiler gives an error CS0102:
The type 'MyClass' already contains a definition for 'Item'
although I am only explicitly defining Item
once.
Based on this site, it is possible to use an attribute to rename the Indexer
public class MyClass
{
public object Item { get; set; }
[System.Runtime.CompilerServices.IndexerName("MyItem")]
public object this[string index] { get { return null; } set { } }
}