C# Error
CS0646 – Cannot specify the DefaultMember attribute on a type containing an indexer
Reason for the Error & Solution
Cannot specify the DefaultMember attribute on a type containing an indexer
If a class or other type specifies System.Reflection.DefaultMemberAttribute, it cannot contain an indexer. For more information, see .
The following sample generates CS0646:
// CS0646.cs
// compile with: /target:library
[System.Reflection.DefaultMemberAttribute("x")] // CS0646
class MyClass
{
public int this[int index] // an indexer
{
get
{
return 0;
}
}
public int x = 0;
}
// OK
[System.Reflection.DefaultMemberAttribute("x")]
class MyClass2
{
public int prop
{
get
{
return 0;
}
}
public int x = 0;
}
class MyClass3
{
public int this[int index] // an indexer
{
get
{
return 0;
}
}
public int x = 0;
}