我收到此运行时错误: InvalidProgramException: Invalid IL code . 我正在使用unity 5.3.1f1 . 该项目是编辑器扩展 . 代码的简化版本是:

public unsafe class PPAGraph

{

PaddedImage downSampleImage;

int downSampleRate;

internal void Calculate(PaddedImage sourceImage)

{

sourceImage.DownSample(downSampleImage, downSampleRate);

}

此行发生此错误 .

InvalidProgramException:Assets.UPlus.TerrEngine.PaddedImage中的IL代码无效:DownSample(Assets.UPlus.TerrEngine.PaddedImage,int):IL_00a9:stloc.s 15 Assets.UPlus.TerrEngine.PPAGraph.Calculate(Assets.UPlus.TerrEngine . PaddedImage sourceImage,Boolean isRidge,Boolean sketch,Int32 plength,Int32 part)(在Assets / UPlus / TerrEngine / Engine / PPA / PPAGraph.cs:1311)Assets.UPlus.Utils.TerraGodContext.CalcSketchPpa(Assets.UPlus.TerrEngine.PaddedImage sketchImg,Int32 sketchDownSampleRate)(在Assets / UPlus / TerrEngine / UnityEngine / TerraGodContext.cs:70)EditorExtensions.Editor.TerrainGodMainPanel.CreatePanel()(在Assets / UPlus / TerrEngine / Engine / Editor / TerrainGODMainPanel.cs:45)EditorExtensions . Editor.TerrainGODWindow.OnGUI()(在Assets / UPlus / TerrEngine / Engine / Editor / TerrainGODWindow.cs:39)System.Reflection.MonoMethod.Invoke(System.Object obj,BindingFlags invokeAttr,System.Reflection.Binder binder,System . Object []参数,System.Globalization.CultureInfo文化)(在/ Users / buil duser / buildslave /单运行时和 - classlibs /建造/ MCS /类/ corlib /的System.Reflection / MonoMethod.cs:222)

DownSample方法是:

public void DownSample(PaddedImage downSampImg, int downsampleRate)

{

int dsW = downSampImg.Width;

int dsH = downSampImg.Height;

float* dsPix = downSampImg.Pixels,padDSPix=downSampImg.PaddedPixels;

int pad = Padding;

int twoPad = pad + pad;

float* rowMyPix = PaddedPixels;

rowMyPix += pad*PaddedWidth + pad;

float* myPix;

int yStep = downsampleRate * PaddedWidth;

int dsPad = downSampImg.Padding;

int twoDSPad = dsPad + dsPad;

padDSPix += downSampImg.PaddedWidth*dsPad + dsPad;

if (downSampImg.PixelsPtr != IntPtr.Zero)

{

for (int y = 0; y < dsH; y++)

{

myPix = rowMyPix;

for (int x = 0; x < dsW; x++)

{

*padDSPix++ = *dsPix++ = *myPix;

myPix += downsampleRate;

}

padDSPix += twoDSPad;

rowMyPix += yStep;

}

}

else

{

for (int y = 0; y < dsH; y++)

{

myPix = rowMyPix;

for (int x = 0; x < dsW; x++)

{

*padDSPix++ = *dsPix++ = *myPix;

myPix += downsampleRate;

}

padDSPix += twoDSPad;

rowMyPix += yStep;

}

}

}

java 方法引用无效_InvalidProgramException:调用方法时无效的IL代码相关推荐

  1. java8新特性lambda表达式、函数式编程、方法引用和接口默认方法以及内部类访问外部变量

    一提到java是一种什么语言? 大多数人肯定异口同声的说是一门面向对象的语言,这种观点从我们开始学java就已经根深蒂固了,但是学到java8新特性函数式编程的时候,我才知道java并不是纯面向对象的 ...

  2. LabVIEW调用DLL时出现异常0xc0000005代码

    LabVIEW调用DLL时出现异常0xc0000005代码 当调用本地DLL时,LabVIEW崩溃,并且收到一条错误消息,说明发生了内存访问冲突(异常代码:0xc0000005). 将LabVIEW版 ...

  3. Java Lambda(语言篇——lambda,方法引用,目标类型,默认方法,函数接口,变量捕获)

    深入理解Java 8 Lambda(语言篇--lambda,方法引用,目标类型和默认方法) 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout ...

  4. java中如何使用反射调用方法以及获得类中的属性

    使用反射获取类中的方法: 1):获取方法所在类的字节码对象. 2):获取方法. ------------------------------------------------------------ ...

  5. 反射java调用方法_java 使用反射调用方法

    每个Method的对象对应一个具体的底层方法.获得Method对象后,程序可以使用Method里面的invoke方法来执行该底层方法. Object invoke(Object obj,Object ...

  6. java8方法引用符合_java8,方法引用

    当我们使用lambda表达式去创建一个匿名方法时,有时我们并没有做什么事情,仅仅是使用了对象中一个存在的方法.这种情况下,通过对象的方法名就能够很明显的推断出要使用 的方法,java8中的方法引用能够 ...

  7. java8 方法引用好处_Java 8方法引用

    原标题:Java 8方法引用 方法引用有助于通过名称指向方法.使用"::"符号描述方法引用.方法引用可以用来指出以下类型的方法 - 静态方法 实例方法 使用new运算符的构造函数( ...

  8. java创建方法并引用_java – 创建非捕获方法引用,它将调用超类方法

    我正在尝试重构以下代码: class Base { private Object a, b, <...>; // there's like 10 of these attributes o ...

  9. java 只读数组_在Java 8中创建方法引用数组的速记方法?

    我正在使用Wicket 6 / Java 8,并添加了一些简单的类,这些类利用了Java 8中的lambda功能(我知道Wicket的更高版本具有lambda支持,但我们现在不能升级).我正在创建一个 ...

  10. java 查找引用_java – Eclipse查找方法的引用

    我想找到以下类的方法"get"的所有调用者: package com.zzz.zzz.zzz.services; public final class EMF { private ...

最新文章

  1. WEB开发者八项注意
  2. Java高并发编程:取消和关闭
  3. iOS 开发一定要尝试的 Texture(ASDK)
  4. windows新建或者重命名文件及目录必须手动刷新才干显示出来问题解决方法
  5. 如何用Graphpad Prism 9作时间轴图
  6. python 随机获取列表的元素_练习 34 - 获取列表元素 - Learn Python 3 The Hard Way
  7. concat特征融合_深度特征融合---理解add和concat之多层特征融合
  8. 忘记redhat linux root密码怎么办
  9. 苹果html抓包,苹果被开发者“抓包”违反了自己定的规则
  10. 在手机上写python_牛逼啊!一个随时随地写Python代码的神器
  11. opencv 视频操作入门
  12. 天书般的ICTCLAS分词系统代码(二)
  13. 18 获取给定的序列的所有排列, 组合
  14. 【自省篇】软件开发七宗罪
  15. Ubuntu 16.04开机出现Kernel panic 。。。解决办法(亲测有效)
  16. 2022年5月编程语言排行榜:C# 获得最多排名积分
  17. mysql密码为空包密码错误_apk空包签名方法及工具
  18. 导入数据库显示服务器发生意外,mysql 数据库无法启动(Ignoring the redo log due to missing M...
  19. 从“为什么创业”到“怎么创业”(转)
  20. 【OpenCV入门教程之十七】OpenCV重映射 SURF特征点检测合辑

热门文章

  1. android4.0 编译报错 Xmx2048m错误 .
  2. 十六、字符驱动及应用
  3. PropertyPathFacoryBean获取对象的值
  4. 从零开始学习OpenGL ES之五 – 材质
  5. GCC全过程详解+剖析生成的.o文件
  6. 复变函数与积分变换-手写笔记
  7. 计算机网络第二章-物理层
  8. 计算机网络实验思考题汇总
  9. 单调队列板子:求滑动窗口中最大值和最小值
  10. Leetcode236 最近公共祖先-二叉树两次遍历