Tengo una unión de la forma:¿Cómo se puede distinguir un enlace WPF entre una propiedad del indexador y un elemento de lista?
clasePath=SpecialCollection[0]
El SpecialCollection extiende ObservableCollection y tiene una propiedad de indizador.
public T this[string propertyValue]
{
get
{
// do stuff
return default(T);
}
}
Mi problema es que los intentos de unión para obtener el valor de la propiedad paso a paso, en lugar de devolver el artículo 0 ª en la colección. ¿Hay alguna manera de obligar a la vinculación a tratar 0 como un número entero para que devuelva un elemento de recopilación, en lugar de invocar el captador de la propiedad del indizador de la colección?
Obviamente, si utiliza un indexador, se llamará al indexador real. ¿Qué estás haciendo exactamente allí de todos modos si devuelve 'default (T)', quiero decir, wth? ¿Es realmente necesario sobrecargar el indexador para eso? –
@ H.B. Notarás el comentario 'do stuff' que agregué, que intenté abstraer los detalles. FWIW, esta clase de colección particular nos permite buscar el primer artículo que tiene una propiedad cuyo valor coincide con propertyValue. Si va a proponer que no hagamos esto, son algunas cosas heredadas que no van a cambiar, de ahí mi deseo de solucionarlo. – Craig
Conocía el 'DoStuff', pero creo que un indexador, como su nombre lo indica, solo debe usarse para acceder a los elementos a través de algún tipo de índice. (return default (T) después de que cualquier tipo de operación no coincida con eso) –