剪贴板未显示新方法扩展名

时间:2014-11-18 21:41:27

标签: c# extension-methods

我尝试为这样的剪贴板创建一个新的方法扩展,但是当我使用它时,扩展名为" GetDataThread"永远不在可用列表中,如果我仍然输入,它会返回错误。

using System.Windows.Forms;

namespace MyProject.ClipboardManager.Extensions
{
    public static class ClipboardExtensions
    {
       public static string GetDataThread(this Clipboard clip)
       {
        var selectedOption = string.Empty;
        Thread t = new Thread(() =>
        {
            selectedOption = (string)Clipboard.GetData(DataFormats.Text);
        });
        t.SetApartmentState(ApartmentState.STA);
        t.Start();
        t.Join();

        return selectedOption;
      }
}

}

这就是我所说的:

using System.Windows.Forms;
using MyProject.ClipboardManager.Extensions;

...
content = Clipboard.GetDataThread(); 

这里的错误是:" System.Windows.Forms.Clipboard不包含GetDataThread的definitio ..

所以我不确定我在这里做错了什么......

1 个答案:

答案 0 :(得分:3)

扩展方法始终是类型的实例的扩展。您可以使用Clipboard类型的实例来调用该方法。您无法使用 ClipBoard类型本身来调用该方法。在您尝试完成的语法中,C#中没有语法。