方法产生->扩展方法必须在非通用静态类中定义

时间:2019-05-28 10:21:57

标签: c# .net extension-methods

每当我采用这种方法

  private Stream createstream(this System.Drawing.Image image, ImageFormat format)
        {
            var stream = new System.IO.MemoryStream();
            image.Save(stream, format);
            stream.Position = 0;
            return stream;
        }

我不断得到

扩展方法必须在非通用静态类中定义

据我所知,我没有扩展任何内容。请咨询

1 个答案:

答案 0 :(得分:1)

编译器认为您正在尝试编写extension method。扩展方法:

  1. 是静态方法
  2. 第一个参数的开头为this
  3. 是在非通用静态类中定义的

编译器在this中看到this System.Drawing.Image image,认为您正在尝试编写扩展方法,并抱怨您未达到第3点。

如果您不想编写扩展方法,请从this中删除this System.Drawing.Image image