Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 引用类的基类函数未在其他项目中公开_C#_Oop_Object - Fatal编程技术网

C# 引用类的基类函数未在其他项目中公开

C# 引用类的基类函数未在其他项目中公开,c#,oop,object,C#,Oop,Object,我正在使用AForge的过滤器基类来实现我自己的过滤器。所以我要做的是 public sealed class SomeFilter : BaseInPlaceFilter2 { ... } 当我在另一个项目(在本例中是控制台项目)中创建过滤器的新实例时,基本函数不会公开,即我应该能够做的是 SomeFilter s = new SomeFilter(); Bitmap bmp = new Bitmap(); ... s.ApplyInPlace(bmp); s.ApplyInPlace(b

我正在使用AForge的过滤器基类来实现我自己的过滤器。所以我要做的是

public sealed class SomeFilter : BaseInPlaceFilter2 { ... }
当我在另一个项目(在本例中是控制台项目)中创建过滤器的新实例时,基本函数不会公开,即我应该能够做的是

SomeFilter s = new SomeFilter();
Bitmap bmp = new Bitmap();
...
s.ApplyInPlace(bmp);
s.ApplyInPlace(bmp)
是从基类派生的。但是,在创建实例时,该实例不可用


通过反复试验,我发现除了filter类之外,我还需要在console项目的using部分包含一个RGE。然而,我认为,当我从基类派生时,基类函数和?我想我还不太了解这里的系统程序。

根据错误信息,您需要包括一个对图像处理的参考


通常,如果项目A引用项目B,项目B引用项目C,那么项目A必须引用项目C,如果它需要访问项目C中定义的类型/方法(即使它们仅通过项目B中定义的类型公开)。

没有不带参数的ApplyPlace()重载。非常重要的是,您发布的代码至少有一些机会进行重新编译。感谢您指出这一点。我扩展了代码位编译器会给你什么错误?一点错误都没有。。。只是我不能调用在基本类中定义的任何函数,我不确定我是否理解。也许你的意思是,当你试图调用这个方法时,你没有得到智能感知?如果使用
s.ApplyInPlace(bmp),代码是否编译?啊,好的。有没有办法“解耦”这一点,所以基本上项目A只引用项目B?@Joey,是使用继承导致了耦合。因此,将A与C解耦的唯一方法是避免(公开)继承。