Estoy tratando de escribir una clase base abstracta para las colecciones de solo lectura que implementan IList
. Dicha clase base debe implementar el conjunto de indicadores para lanzar un NotSupportedException
, pero deje el indizador get como abstracto. ¿C# permite tal situación? Esto es lo que tengo hasta ahora:Extractor abstracto con fraguado de hormigón en C#
public abstract class ReadOnlyList : IList {
public bool IsReadOnly { get { return true; } }
public object this[int index] {
get {
// there is nothing to put here! Ideally it would be left abstract.
throw new NotImplementedException();
}
set {
throw new NotSupportedException("The collection is read-only.");
}
}
// other members of IList ...
}
Idealmente ReadOnlyList
sería capaz de poner en práctica la incubadora pero deje el captador abstracta. ¿Hay alguna sintaxis que permita esto?
En caso de que esto no es sólo un ejercicio, usted tiene ReadOnlyCollection en el marco –
Gracias; Usualmente uso ReadOnlyCollection, aunque este caso específico requería una implementación personalizada de IList . Tiendo a simplificar mis escenarios al mínimo necesario para hacer una pregunta. –