Red de conocimiento informático - Computadora portátil - ¿Cómo implementar un servidor proxy en la programación de software C#?

¿Cómo implementar un servidor proxy en la programación de software C#?

Si tiene experiencia en programación de C++, entonces este problema es muy simple: el delegado en C# y el puntero de función en C++ son básicamente lo mismo, y C# implementa el puntero de función en forma de delegado. . La diferencia es que los delegados en C# tienen seguridad de tipos.

No importa si no tienes conocimientos previos de C o C++.

Para entender Delegate, primero que nada, debes entender que es una clase, que es un concepto de nivel con Class. La diferencia es que la definición de Class incluye campos y métodos, mientras que delegado solo incluye. los detalles del método.

Definir Delegado:

public delegado bool CompareDelegate(int a, int b

El significado de la declaración anterior es: cuando una instancia de un delegado); está definido. Estas instancias deben contener un nombre de método, y este método debe tener dos parámetros int y debe devolver un valor bool.

Bien, ahora crea una instancia del delegado definido anteriormente

public CompareDelegate myCompare = new CompareDelegate(CompareMethod);

El CompareMethod interno es un método:

Se define de la siguiente manera:

public static bool CompareMethod(int x , int y)

{

bool result = x > y ? verdadero: falso;

devuelve resultado;

}

Cómo usarlo

int a = 10; >

int b = 15;

bool isBigger = myDelegate(a, b);

El siguiente es el código completo:

using System;

usando System.Collections.Generic

usando System.Text

usando Common

espacio de nombres ConsoleApplication8

{

//Definir delegado

public delegado bool CompareDelegate(int a, int b

clase pública MyCompare

); {

{

p>

///

/// Definir un método que cumpla con los detalles del método requeridos por el delegado definido arriba El valor de retorno es de tipo bool y los dos parámetros son de tipo int

///

/// <. /param>

///

///

público bool estático CompareMethod(int x, int y)

{

resultado bool = x > y verdadero: falso

devuelve resultado

}

}

programa de clase

{

static void Main(string[] args)

{

//Crea una instancia del delegado e inicialízalo.

Tenga en cuenta que al inicializar, debe contener el nombre de un método, y este método debe ajustarse a la firma (tipo de parámetro y valor de retorno) cuando se definió originalmente el delegado

CompareDelegate myDelegate = new CompareDelegate(MyCompare. CompareMethod);

//Ahora usamos la instancia delegada para comparar los tamaños de dos números a y b

int a = 10

int b =; 15;

bool esMás grande = myDelegate(a, b);

Console.WriteLine(" a > b ?: " + esMás grande); Read();

p>

}

}

}

¿No es demasiado simple?

¿Para qué se utilizan los delegados en C#? Por supuesto, no se utilizan para implementar programas para personas con retraso mental como el anterior. Mencionar delegación en C# generalmente lleva a otro término: evento. La implementación de eventos en C# depende de los delegados. Los eventos son un concepto muy importante. Sólo comprendiendo verdaderamente la delegación podremos sentar una base sólida y comprender verdaderamente los eventos.

Espero que esto ayude