Tag: c ++

将字节数组从Unity C#传递到C ++插件

我正在尝试将Texture2D(字节数组)中的原始纹理数据传递给非托管C ++代码。 在C#代码中,数组长度约为1.5kk,但在C ++中,“sizeof”总是返回8。 本机方法的C#声明: [DllImport(“LibName”, CallingConvention = CallingConvention.Cdecl)] static extern IntPtr ProcessData(byte[] data); C ++: extern “C” { __declspec(dllexport) void ProcessData(uint8_t *data) { //sizeof(data) is always 8 } } 我究竟做错了什么? 有没有办法在C ++代码中传递数组而无需额外的内存分配?

将BitmapImage转换为Byte数组

我想在Windows Phone 7应用程序中将BitmapImage转换为ByteArray。 所以我尝试了这个,但它抛出了运行时exception“无效的指针exception”。 任何人都可以解释为什么我要做的事情会引发exception。 您能为此提供替代解决方案吗? public static byte[] ConvertToBytes(this BitmapImage bitmapImage) { byte[] data; // Get an Image Stream using (MemoryStream ms = new MemoryStream()) { WriteableBitmap btmMap = new WriteableBitmap(bitmapImage); // write an image into the stream Extensions.SaveJpeg(btmMap, ms, bitmapImage.PixelWidth, bitmapImage.PixelHeight, 0, 100); // reset the stream pointer to the beginning ms.Seek(0, 0); […]

Web浏览器控件:如何捕获文档事件?

我正在使用WPF的WebBrowser控件来加载一个简单的网页。 在这个页面上,我有一个锚或一个按钮。 我想在我的应用程序代码中捕获该按钮的click事件(即在C#中)。 WebBrowser控件是否有一种方法可以捕获加载页面元素上的单击事件? 此外,是否可以在页面和WebBrowser之间传递事件触发的数据? 以上所有应该是可能的,我是对的吗? 编辑: 可能的解决方案: 我发现以下链接可能是一个解决方案。 我还没有测试过,但值得拍摄。 将根据我的测试结果更新此问题。 http://support.microsoft.com/kb/312777 链接取自: 来源

如何在C#中使用p / invoke将指针传递给数组?

示例C API签名: void Func(unsigned char* bytes); 在C中,当我想将指针传递给数组时,我可以这样做: unsigned char* bytes = new unsigned char[1000]; Func(bytes); // call 如何将上述API转换为P / Invoke,以便我可以将指针传递给C#字节数组?

Automapper:忽略条件

是否可以忽略根据源属性的值映射成员? 例如,如果我们有: public class Car { public int Id { get; set; } public string Code { get; set; } } public class CarViewModel { public int Id { get; set; } public string Code { get; set; } } 我正在寻找类似的东西 Mapper.CreateMap() .ForMember(dest => dest.Code, opt => opt.Ignore().If(source => source.Id == 0)) 到目前为止,我唯一的解决方案是使用两个不同的视图模型,并为每个模型创建不同的映射。

获取chrome的控制台日志

我想构建一个自动化测试,所以我必须知道chrome控制台中出现的错误。 有一个选项来获取控制台中出现的错误行? 要查看控制台:右键单击页面中的某个位置,单击“检查元素”,然后转到“控制台”。

从PInvoke返回一个字符串?

我正在使用PInvoke实现本机代码(C ++)和托管代码(C#)之间的互操作性。 我只写了一个简单的函数,它从c ++代码中获取一个字符串。 我的代码看起来像C#代码: [DllImport(“MyDll.dll”)] private static extern string GetSomeText(); public static string GetAllValidProjects() { string s = GetSomeText(); return s; } C ++代码 char* GetSomeText() { std::string stri= “Some Text Here”; char * pchr = (char *)stri.c_str(); return pchr; } 所有在c ++结束时工作正常,即pchr在“C#Here”中包含“Some Text Here”,但在C#中,字符串s包含注释。 我不知道我做错了什么。 任何帮助,将不胜感激

如何在C#中获取当前的区域设置?

通常你可以写一些像这样的东西 CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture; 但是这样您只能获得在启动应用程序时配置的CultureInfo,如果之后设置已更改,则不会更新。 那么,如何在控制面板 – >区域和语言设置中获取当前配置的CultureInfo?

AdaptiveTrigger和DataTemplate

AdaptiveTrigger是否可以在DataTemplate中工作? 这是我用来自定义我的ShellNavigation的代码,除了视觉状态之外它工作得很好。 它们不会触发任何东西。

改进/修复C样式块注释的正则表达式

我正在编写(在C#中)一个简单的解析器来处理一个看起来很像经典C的脚本语言。 在我拥有的一个脚本文件中,我用来识别/ *阻止注释* /的正则表达式将进入某种无限循环,占用100%的CPU。 我正在使用的正则表达式是这样的: /\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/ 为什么会被锁定的任何建议? 或者,我可以使用的另一个正则表达式是什么? 更多信息: 使用面向.NET 3.5的C#3.0; 我正在使用Regex.Match(string,int)方法在字符串的特定索引处开始匹配; 我让程序运行了一个多小时,但比赛没有完成; 传递给Regex构造函数的选项是RegexOptions.Multiline和RegexOptions.IgnorePatternWhitespace ; 正则表达式适用于我的453个测试文件中的452个。