当前位置:  开发笔记 > 编程语言 > 正文

CS1106扩展方法必须在非泛型静态类中定义

如何解决《CS1106扩展方法必须在非泛型静态类中定义》经验,为你挑选了1个好方法。

我一直在研究WPF C#中的一个项目,我试图让图像动画下移.我在Internet上找到了"MoveTo"功能,当我将其粘贴到代码中时发生了错误.

Public partial class Window1: Window
{
    public static int w = 1;

    public Window1()
    {
        InitializeComponent();

    }

    public void MoveTo(this Image target, double newY)
    {
        var top = Canvas.GetTop(target);
        TranslateTransform trans = new TranslateTransform();
        target.RenderTransform = trans;
        DoubleAnimation anim1 = new DoubleAnimation(top, newY - top, TimeSpan.FromSeconds(10));
        trans.BeginAnimation(TranslateTransform.XProperty, anim1);
    }

    private void button_Click(object sender, RoutedEventArgs e)
    {
        MoveTo(image, 130);
    }
}

我需要做些什么来解决这个问题?



1> Jon Hanna..:

public void MoveTo(此图像目标,双newY)

this在方法定义的第一个参数上指示一个扩展方法,正如错误消息所说,它只对非泛型静态类有意义.你的班级不是静态的.

这似乎不是一个有意义的扩展方法,因为它正在对有问题的实例起作用,所以删除this.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有