Xamarin – 从base64字符串显示图像

我是Xamarin和XAML的新手,这是我迄今为止在Android和iPhone使用的便携式项目中所做的事情(仅使用Android): Item.cs(从JSON加载) [JsonProperty(“image”)] private string ImageBase64 { get; set; } [JsonIgnore] private Xamarin.Forms.Image _image = null; [JsonIgnore] public Xamarin.Forms.Image Image { get { if (_image == null) { _image = new Xamarin.Forms.Image() { Source = Xamarin.Forms.ImageSource.FromStream(() => new MemoryStream(Convert.FromBase64String(ImageBase64))), BackgroundColor = Color.White, WidthRequest = 64, HeightRequest = 64, }; OnPropertyChanged(“Image”); } return _image; } private […]

更改WPF StackPanel模板

我正在尝试创建一个自定义样式面板( StyledStackPanel ),它与常规StackPanel相同,具有自定义样式。 例如 – 如果样式只是添加下划线,则写入: 我希望收到与我写的相同的外观: 如果StackPanel是一个Control ,我可以替换该控件的DataTemplate 。 但是,它inheritance了inheritanceFrameworkElement Panel 。 有没有办法更改StackPanel的模板?

C#中的SqlServer校验和

我在sql server 2008 R2中使用chechsum函数,我想在C#app中获得相同的int值。 在c#中是否有任何等效的方法返回像sql checksum函数这样的值? 感谢名单

过滤掉Type.GetMethods()返回的自动生成的方法(getter / setter / add / remove / .etc)

我使用Type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic)来检索给定类型的方法数组。 问题是返回的MethodInfo可能包含由我不想要的编译器生成的方法。 例如: property bool Enabled { get; } 将得到bool get_Enabled() 事件SomethingChanged将获得add_SomethingChanged(EventHandler)和remove_SomethingChanged(EventHandler) 我可以添加一些filter逻辑来摆脱它们,这可能会变得非常复杂。 我想知道是否还有其他我可以做的事情,例如使用BindingFlags设置,只检索用户定义的方法?

C#中IEnumerable类的foreach和for循环之间的区别

我被告知以下代码块之间存在性能差异。 foreach (Entity e in entityList) { …. } 和 for (int i=0; i<entityList.Count; i++) { Entity e = (Entity)entityList[i]; … } 哪里 List entityList; 我不是CLR的期望,但从我可以告诉他们应该归结为基本相同的代码。 有没有人有这样或那样的混凝土(哎呀,我会把包装好的污垢)证据?

在样式列表框ItemContainer上指定datacontext类型

在ListBox我使用语法将ItemContainer的IsSelected属性绑定到我的ViewModel的IsSelected属性。 它工作正常,但我得到一个Resharper警告: 无法在“FooSolution.BarViewModel”类型的数据上下文中解析属性“IsSelected”。 如何在ListBox ItemContainer上指定指定DataContext类型以消除此警告? 这是代码。 我有一个BarViewModel类: public ObservableCollection FooItems { get;set; } BarViewModel被分配给Control中包含ListBox的DataContext 和FooViewModel如下: public bool IsSelected { get { return isSelected; } set { if (isSelected == value) { return; } isSelected = value; RaisePropertyChanged(() => IsSelected); } } 和XAML这样: 更新我尝试使用setC设置d:DataContext ,正如HighCore所建议的那样,但不幸的是,它没有帮助,甚至打破了构建: (抛出:错误1标签’DesignInstance’在XML命名空间’schemas.microsoft.com/expression/blend/2008’中不存在;;第31行位置50.) 更新2最后,解决方案是在样式元素本身上设置d:DataContext (请参阅下面的答案):

如何并行启动List ?

我有一个返回System.Threading.Tasks.Task的对象: public class MyClass { public Task GetTask(object state, CancellationToken cancellationToken) { return new Task(Execute, state, cancellationToken); } public void Execute(object context) { //do stuff } } 在其他地方我有一个List ,所以我执行以下操作来获取List : var myTaskList = myClassList.Select(p => p.GetTask(null, cancellationToken)).ToList(); 现在我有List ,如何并行启动它们? 是否有更简洁的方法来编码? 谢谢!

ORA-00936:使用dotConnect驱动程序和oracle数据库从数据库读取时缺少表达式

我使用dotConnect驱动程序连接到oracle数据库,但是当我想使用参数时,我总是得到这个错误:ORA-00936:缺少表达式 码: using (var cmd = conn.CreateCommand()) { conn.Open(); cmd.CommandText = “SELECT stevilka_dokumenta from zmpt_dokumenti_po where status = @status”; ; cmd.Parameters.Add(“@status”, OracleDbType.VarChar, “1”); using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { string stevilkaDokumenta = reader.GetString(“stevilka_dokumenta”); } } 错误在这里: using (var reader = cmd.ExecuteReader()) 为什么我得到ORA-00936:缺少表情? 我该如何声明输入参数?

代码在发布与调试模式下的行为不同

在Release模式和debug模式下运行时,我们有一些unit testing失败。 如果我在发布模式下附加调试器,则测试通过。 有太多的代码要在这里发布,所以我真的只是在寻找调试发布模式问题的最佳实践。 我检查过: DEBUG和RELEASE预处理器指令,但我没有找到任何指令。 条件方法 解决方案:在这种情况下,这是因为我在比较浮点变量是否相等。 在没有重大重构的情况下,我无法将浮点数更改为十进制数,因此我添加了一个扩展方法: public static class FloatExtension { public static bool AlmostEquals(this float f1, float f2, float precision) { return (Math.Abs(f1 – f2) <= precision); } public static bool AlmostEquals(this float f1, float f2) { return AlmostEquals(f1, f2, .00001f); } public static bool AlmostEquals(this float? f1, float? f2) { […]

“foreach”循环背后发生了什么?

可能重复: foreach循环如何在C#中工作? 我一直在网上搜索,我很难找到任何关于C#中foreach循环幕后真实情况的答案。 我知道这个问题并不真正与实际编码有关,但它困扰着我。 我对OO编程特别是接口很新。 我知道他们是合同,我理解IEnumerable和IEnumerator如何工作的 – 或者我认为。 我一直在MSDN上阅读这篇文章: IEnumerable Interface 我理解一切都是如何建立的。 虽然在Main循环中我怎么有点不清楚foreach如何知道如何通过_people中的所有值来进行_people 。 怎么知道这个? 它如何通过调用return new PeopleEnum(_people);跟踪Current return new PeopleEnum(_people); ? 编辑 :我不知道这是如何完全重复。 是的,它的类似理由和同样的问题正在被问到,但我们正在寻找不同的答案或我想要的答案在前一个问题中没有讨论过。 像foreach(在obj中的int i){…}等等的foreach循环等同于 ……“有点”不是我正在寻找的答案。