Tag: c ++

WP7.1上的匿名类型和Get访问器?

我正在尝试将一个简单的对象写入Dictionary转换器,如下所示: public static class SimplePropertyDictionaryExtensionMethods { public static IDictionary ToSimplePropertyDictionary(this object input) { if (input == null) return new Dictionary(); var propertyInfos = from property in input.GetType() .GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.FlattenHierarchy | BindingFlags.GetProperty) where property.CanRead select property; return propertyInfos.ToDictionary(x => x.Name, x => input.GetPropertyValueAsString(x)); } public static string GetPropertyValueAsString(this object input, PropertyInfo propertyInfo) { […]

Automapper:ForMember中的复杂if else语句

假设Date是可以为空的DateTime: Mapper.CreateMap() .ForMember(dest => dest.Date, opt => opt.MapFrom(src => { DateTime? finalDate = null; if (src.HasDate == “N”) { // so it should be null } else { endResult = DateTime.Parse(src.Date.ToString()); } return finalDate; })); 我得到的错误是:“错误30带有语句主体的lambda表达式无法转换为表达式树。” 当然,我完全清楚我可以简化查询,例如: Mapper.CreateMap() .ForMember(dest => dest.Date, opt => opt.MapFrom(src => src.HasDate == “N” ? null : DateTime.Parse(src.Date.ToString()))); 但是,如果我坚持保留第一个例子的结构,因为我有更复杂的if else语句,第二个例子无法满足或至少不具有可读性,该怎么办?

在TCP中接收数据

如果我在TCP中发送1000个字节,它是否保证接收器将获得整个1000字节“togther”? 或者他可能会先获得500个字节,之后他会收到其他字节? 编辑 :问题来自应用程序的观点。 如果1000个字节在到达应用程序之前重新组装到单个缓冲区中..那么我不在乎它是否在路上被分段。

将项目从C#迁移到Java

随着办公室人员配置的一些变化,C#专业知识的水平急剧下降,现在有更多的Java开发人员。 它已经达到了高层正在考虑将用C#编写的现有.NET项目移植到Java世界的程度。 除了完全从头开始的明显问题之外,该公司可以通过.NET C#成功实现项目开发的可能方式到Java?

不正确的编组:C#数组到C ++非托管数组

我有以下C#代码,其中包含结构定义(CInput),obj定义和init,以及对C ++(本机)DLL函数的调用(也是由我编写的)。 //C# code public struct CInput { [MarshalAsAttribute(UnmanagedType.R8)] public double Time; [MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_R8)] public double[] Database; /* other similar fields*/ } CInput Inputs = new CInput(); /* init of Inputs fields*/ int bfr = Example(ref Inputs); //’Example’ being the C++ DLL call Messagebox.Show(bfr.ToString()); 编组第二个参数时出错,我不知道在哪里。 然后: //C++ code struct CInput { double Time; […]

LongListSelector数据虚拟化

LongListSelector是否支持数据虚拟化? 我在几个博客上看到它确实如此,但无法让它发挥作用。 这是我尝试过的:我提供了一个IList实现作为ItemsSource到List。 问题是List调用GetEnumerator()而不是this[int index]来获取列表项。 所以我的问题是:如何为LongListSelector实现数据虚拟化?

MediaCapture + CaptureElement生命周期/导航管理

这是在Windows Phone 8.1商店应用程序中。 我的MainPage有一个CaptureElement来显示来自MediaCapture对象的预览流。 对于应用程序内的导航(页面之间),这很有效: MediaCapture mc; protected override async void OnNavigatedTo(NavigationEventArgs e) { mc = new MediaCapture(); await mc.InitializeAsync(); preview.Source = mc; await mc.StartPreviewAsync(); } protected override async void OnNavigatedFrom(NavigationEventArgs e) { await mc.StopPreviewAsync(); } 我可以导航到其他页面并返回,预览可靠地运行。 我遇到了以下情况的问题: 用户按下Windows按钮,然后按后退按钮 用户按下Windows按钮,然后使用任务切换器返回我的应用程序 用户按下搜索按钮,然后按下后退按钮 用户按下电源按钮,然后再次按下并向上滑动以解锁设备 用户按住后退按钮进入任务切换器,然后再次点击我的应用程序 在上述每个操作(和/或它们的组合)之后,当我的应用程序返回时,预览将冻结在显示的最后一帧。 如果用户然后导航到另一个页面然后返回到MainPage,则预览会再次开始运行而不会出现问题,因此这让我相信我只需要在从上述场景之一返回后停止/启动预览。 我尝试订阅App.Suspending和App.Resuming事件,但这些都不会在这些情况下触发。 我错过了什么?

C DLL中的PInvoke char *在C#中作为String处理。 null字符问题

C DLL中的函数如下所示: int my_Funct(char* input, char* output); 我必须从C#app调用它。 我这样做的方式如下: …DllImport stuff… public static extern int my_Funct(string input, string output); 输入字符串完美地传输到DLL(我有可见的certificate)。 function填写的输出虽然是错误的。 我有六进制数据,如: 3F-D9-00-01 但不幸的是,在两个零之后的所有内容都被剪切掉了,只有前两个字节来到我的C#应用​​程序。 它发生了,因为(我猜)它将它视为空字符并将其作为字符串的结尾。 任何想法我怎么能摆脱它? 我试图将它指定为IntPtr而不是字符串,但我不知道以后如何处理它。 我尝试过后: byte[] b1 = new byte[2]; Marshal.Copy(output,b1,0,2); 2通常应该是字节数组的长度。 但是我得到了各种错误:比如“请求的范围超出了数组的末尾”。 或“试图读取或写入受保护的内存……” 我感谢任何帮助。

在WinForms WebBrowser控件中禁用javascript?

我怎么能在WinForms上的WebBrowser上完全禁用javascript?

如何使用Simple Injector注册AutoMapper 4.2.0

已更新至AutoMapper 4.2.0,并按照此处提供的迁移指南进行操作: https : //github.com/AutoMapper/AutoMapper/wiki/Migrating-from-static-API/f4784dac61b91a0df130e252c91a0efd76ff51de#preserving-static-feel 。 尝试将StructureMap的页面上的代码转换为Simple Injector。 有人能告诉我这个代码在Simple Injector中的样子吗? StructureMap public class AutoMapperRegistry : Registry { public AutoMapperRegistry() { var profiles = from t in typeof (AutoMapperRegistry).Assembly.GetTypes() where typeof (Profile).IsAssignableFrom(t) select (Profile)Activator.CreateInstance(t); var config = new MapperConfiguration(cfg => { foreach (var profile in profiles) { cfg.AddProfile(profile); } }); For().Use(config); For().Use(ctx => ctx.GetInstance().CreateMapper(ctx.GetInstance)); } } […]