2010-02-12 14 views
6

dado un delegado como¿Cómo se proporcionan comentarios xml/documentación para los parámetros de delegado?

Func<string,string,string> MyFunc = (firstName,lastName) => string.Format("Given Name:{0} Surname:{1}", 
                      firstName, 
                      lastName); 

¿Cómo se puede documentar los parámetros de nombre y apellido, por lo que aparecen en IntelliSense (como descripciones de los métodos y parámetros hacen)?
Ejemplo:

/// <summary> 
/// My Method 
/// </summary> 
/// <param name="firstName">The first name.</param> 
/// <param name="lastName">The last name.</param> 
/// <returns></returns> 
public string MyMethod(string firstName, string lastName) 
{ 
    return string.Format("Given Name:{0} Surname:{1}",firstName,lastName); 
} 

quiero que se ciernen sobre el delegado o tienen emergente IntelliSense cuando escribo y dime las descripciones de los parámetros de los delegados, al igual que lo haría con el método anterior.

+0

Para mí, parece extraño documentar una función anónima. – Foole

Respuesta

8

Un campo de un tipo delegado sigue siendo un campo y no un método — no toma parámetros en sí mismo. Los parámetros pertenecen al delegado tipo, no al delegado campo. Puede escribir los comentarios de los parámetros cuando delegue tipos si lo desea.

/// <summary> 
/// Tests something. 
/// </summary> 
/// <param name="test">Something that's going to be tested.</param> 
delegate void Test(int test); 

Func<string,string,string> es un delegado general para las funciones con tres parámetros. Para fines específicos, siempre puede declarar su propio tipo de delegado que representa el método abstraído más específicamente y agregar comentarios a sus parámetros.

+0

Es una lástima que no haya ninguna manera de proporcionar documentación que Intellisense recogerá para un 'Func ' En muchos casos, se espera que la función que se asignará a dicha variable declarada realice funciones específicas y hay expectativas específicas sobre lo que se está transmitiendo y lo que se devuelve. –

Cuestiones relacionadas