2012-03-30 9 views
6

estoy investigando algún otro código y no hay un método como este:¿Cuál es la diferencia entre OptionalAttribute y los parámetros opcionales en C# 4.0

public SomeClass DoSomething(string param1, [Optional, DefaultParameterValue("")] string optional) 

¿Por qué alguien utilizar estos atributos en lugar de

public SomeClass DoSomething(string param1, string optional = "") 

¿Hay alguna diferencia en el comportamiento, etc.?

+0

[MSDN] (http: // msdn.microsoft.com/en-us/library/system.runtime.interopservices.defaultparametervalueattribute.aspx) –

Respuesta

9

Si no estaban usando C# 4, por ejemplo? Creo que la segunda versión se compilará en exactamente la primera versión ...

(me gustan los dos hemos recopilado y ejecutarlos a través ILDASM - no hubo diferencias significativas.)

+0

no relacionado: ¿se trata de una magia de usuario de alto perfil? Agregaste la última oración más tarde y todavía no veo el historial de edición :) –

+2

@Sunny: hay un período de gracia de cinco minutos durante el cual no se muestran las ediciones del autor. –

Cuestiones relacionadas