¿Cómo sobrecargo el operador de corchetes en C #?

Coderer

DataGridView, por ejemplo, le permite hacer esto:

DataGridView dgv = ...;
DataGridViewCell cell = dgv[1,5];

pero por mi vida no puedo encontrar la documentación en el operador de índice / corchete. ¿Cómo lo llaman? ¿Dónde se implementa? ¿Puede tirar? ¿Cómo puedo hacer lo mismo en mis propias clases?

ETA: Gracias por todas las respuestas rápidas. Brevemente: la documentación relevante se encuentra en la propiedad "Elemento"; la forma de sobrecargar es declarando una propiedad como public object this[int x, int y]{ get{...}; set{...} }; el indexador para DataGridView no arroja, al menos de acuerdo con la documentación. No menciona lo que sucede si proporciona coordenadas no válidas.

ETA Nuevamente: OK, aunque la documentación no lo menciona (¡el travieso Microsoft!), Resulta que el indexador de DataGridView arrojará una ArgumentOutOfRangeException si le proporciona coordenadas no válidas. Advertencia justa.

Ruben

puedes encontrar cómo hacerlo aquí . En resumen es:

public object this[int i]
{
    get { return InnerList[i]; }
    set { InnerList[i] = value; }
}

Si solo necesita un getter, la sintaxis en la respuesta a continuación también se puede usar (comenzando desde C # 6).

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

No me sobrecargo el operador

¿Cómo insertar corchetes solo alrededor de un operando y el siguiente operador factorial (!) En una expresión matemática?

¿Cómo eliminar el resaltado de corchetes en WebStorm?

¿Cómo deshabilitar el autocompletado de corchetes en Spyder?

¿Cómo sobrecargo LINQ IQueryable <TEntity> Where () para aceptar el nombre de la columna?

¿Cómo sobrecargar el operador de flujo en c ++?

¿Cómo sobrecargar el operador de flujo en c ++?

Cómo funciona el operador de resto en c

Cómo utilizar el operador OR en el cumplimiento de dialogflow

¿Cómo modifico el contenido de un literal de cadena sin usar corchetes en C?

¿Cómo deshabilitar las sugerencias de código javascript en el editor de corchetes?

¿Cómo deshabilitar las sugerencias de código javascript en el editor de corchetes?

El signo de dólar no interpola corchetes en c #

Cómo aplicar el operador de Elvis en Java 8?

¿Cómo leer el operador de enlace ">> =" en palabras?

¿Cómo obtener vocales en el operador Like de SQL?

Cómo usar el operador de incremento en React

¿Cómo usar el operador de propagación en javascript?

¿Cómo utilizar el operador '??' en tipo de flotador

¿Cómo poner los corchetes de la matriz "[]" en swagger con el comentario de laravel?

Cómo obtener el valor de los corchetes de un documento / cadena en node.js

cómo eliminar los corchetes que son de sobra en la lista con el pitón?

Cómo eliminar el carácter de corchetes en la cadena (Java)

cómo sumar el valor en un elemento de matriz o entre corchetes []

Cómo corregir el error de análisis (posiblemente sangría incorrecta o corchetes no coincidentes) en Haskell

Cómo eliminar el carácter de los corchetes en la cadena (dardo)

Cómo extraer el valor entre corchetes () en Spotfire

Cómo extraer el valor entre corchetes () en Spotfire

¿Puede mono-parchear clases integradas y, si no, cómo sobrecargo un operador para definir la suma de dos clases diferentes?

TOP Lista

  1. 1

    ¿Cómo ocultar la aplicación web de los robots de búsqueda? (ASP.NET)

  2. 2

    Kibana 4 , making pie chart , error message

  3. 3

    Manera correcta de agregar referencias al proyecto C # de modo que sean compatibles con el control de versiones

  4. 4

    récupérer les noms de clés depuis Firebase react-native

  5. 5

    OAuth 2.0 utilizando Spring Security + WSO2 Identity Server

  6. 6

    Cómo eliminar o caducar las cookies en Chrome usando asp.net

  7. 7

    desbordamiento: oculto no funciona al hacer zoom en un iframe de YouTube usando transformar

  8. 8

    Cómo extraer una palabra clave (cadena) de una columna en pandas dataframe en python

  9. 9

    Link library in Visual Studio, why two different ways?

  10. 10

    선언되지 않은 유형 'MessagingDelegate'사용

  11. 11

    actualizar el contenido de la vista de reciclaje falla en la hoja inferior

  12. 12

    Ver todos los comentarios en un video de YouTube

  13. 13

    Problema con la vista de impresión de PDF

  14. 14

    ¿Cómo pintar el Dropline de un RowHeader-JTable en el Main-JTable durante un DragAndDrop?

  15. 15

    Pregunta de fórmula de desplazamiento y transposición de Excel / Google Sheets

  16. 16

    ¿Cómo puedo hacer accesible la información de color en tablas HTML?

  17. 17

    ¿Cómo generalizar el JSON en el procedimiento almacenado?

  18. 18

    Recortar fotos rectangulares de escaneos en OpenCV con Python

  19. 19

    2D 배열에 대한 Numpy 요소 별 평균 계산

  20. 20

    Typescript의 "window"전역 개체에 "adsbygoogle"애드 센스 속성을 추가하는 방법은 무엇입니까?

  21. 21

    Error: la ejecución falló para la tarea ': app: compileDebugJavaWithJavac'. java.io.FileNotFoundException:

CalienteEtiquetas

Archivo