CallerMemberName w .NET 4.0 nie działa

Próbuję użyćCallerMemberName atrybut w .NET 4.0 za pośrednictwem pakietu przenośności BCL. Zawsze zwraca pusty łańcuch zamiast nazwy członka. Co ja robię źle?

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        MessageBox.Show(new class2().CallMe);
    }
}

public class class2
{
    public string CallMe 
    {
        get
        {
            return HelpMe();
        }
    }

    private string HelpMe([CallerMemberName] string param = "")
    {
        return param;
    }
}

questionAnswers(3)

yourAnswerToTheQuestion