Argumentos opcionales e InteropServices

Estoy usando por primera vez argumentos opcionales pero no puedo entender la diferencia entre esas dos definiciones de métodos:

private void method1([Optional, DefaultParameterValue(string.Empty)] string testString)
{
    //do something
}

private void method2(string testString = "")
{
    //do something
}

definición del método1 necesita:

using System.Runtime.InteropServices;

La definición de Method2 es más pequeña y no necesita importación.

Tengo que considerar algo antes de usar una de esas sintaxis de método?

Respuestas a la pregunta(1)

Su respuesta a la pregunta