2010-09-23 19 views
13
string s = new string("Hello World").Replace(" ","_").ToLower().ToUpper(); 

Así que básicamente devuelve de cada método el objeto modificado, así que puede llamar a nuevos métodos en él.¿Cómo se llama este patrón?

Respuesta

27

Encadenamiento de métodos. (Wikipedia)

+0

Demasiado rápido para mí :) –

+0

@ Space_C0wb0y: Fue pura suerte. @teedyay: Gracias por la corrección de errores tipográficos. – Boldewyn

+2

Pistola más rápida que un cowboy @space. ¡Eso es rudo! – Jla

0

Equivenlant a:

string s = new string("Hello World"); 
s = s.Replace(" ","_"); 
s = s.ToLower(); 
s = s.ToUpper(); 
+0

En realidad, simplemente vuelva a leer su pregunta ... ¡realmente no es la respuesta que busca! – BG100

+3

Eso no se compilará sin algunos puntos y comas más. –

+0

@Juegos: ¡Solucionado! – BG100

18
+0

+1. No he oído ese nombre antes. – Boldewyn

+0

¿Podría decir que los objetos tienen una interfaz fluida pero el patrón citado usa el encadenamiento? –

4

La respuesta es proporcionada por Boldewyn, sólo estoy escribiendo esto como una sugerencia.

Cuando se encadenan métodos como éste, tratar de escribir de la siguiente manera -

string s = new string("Hello World") 
       .Replace(" ","_") 
       .ToLower() 
       .ToUpper(); 

Esto mejora la legibilidad del código.

+0

En cuanto a la aplicación, ¿no es así como se escribe el código de automatización de la interfaz de usuario? –

Cuestiones relacionadas