在ArcGIS中,这个问题通常发生在使用C#编写插件时。它的根本原因是定义函数的类的可访问性大于实际返回类型的可访问性。
为了解决这个问题,您可以通过将函数的可访问性更改为适当的可访问性来使函数返回类型和类的可访问性匹配。例如,如果函数的返回类型是私有内部类,则该函数定义的类应该至少是私有访问级别或更高(如protected,public等)。
以下是一个示例代码,其返回类型不可访问:
public class MyClass {
private class MyInnerClass {
// some code here
}
public MyInnerClass MyFunction() {
// some code here
return new MyInnerClass();
}
}
上面的代码将会抛出“Error Return type less accessible than method”的异常,因为“MyInnerClass”的访问级别是私有(private),而“MyFunction”的访问级别是公共(public)。
为了解决这个问题,我们需要将“MyFunction”的访问级别更改为私有:
public class MyClass {
private class MyInnerClass {
// some code here
}
private MyInnerClass MyFunction() {
// some code here
return new MyInnerClass();
}
}
通过这个简单的更改,我们就修复了这个问题。
下一篇:ArcGIS中建筑物未拉伸