草庐IT

work_base

全部标签

c# - Base64 字符串抛出无效字符错误

我一直收到Base64无效字符错误,尽管我不应该这样做。该程序获取一个XML文件并将其导出到一个文档中。如果用户需要,它也会压缩文件。压缩工作正常并返回一个Base64字符串,该字符串被编码为UTF-8并写入文件。当需要将文档重新加载到程序中时,我必须检查它是否已压缩,代码很简单:byte[]gzBuffer=System.Convert.FromBase64String(text);return"1F-8B-08"==BitConverter.ToString(newList(gzBuffer).GetRange(4,3).ToArray());它检查字符串的开头以查看其中是否包含G

c# - 为什么在 Windows 服务停止时调用 base.OnStop()?

我正在创建一个C#.NetWindows服务,我想知道您是否总是需要在服务的OnStop()方法中调用base.OnStop();并且为什么?protectedoverridevoidOnStop(){threadRunning=false;this.ExitCode=0;base.OnStop();} 最佳答案 来自ServiceBase.OnStop上的文档:OnStopisexpectedtobeoverriddeninthederivedclass.Fortheservicetobeuseful,OnStartandOnSt

C# : How does this work : Unit myUnit = 5;

我刚刚注意到您可以在C#中执行此操作:UnitmyUnit=5;不必这样做:UnitmyUnit=newUnit(5);有谁知道我如何使用自己的结构实现这一目标?我查看了带有反射器的Unit结构并注意到正在使用TypeConverter属性,但是在我为我的结构创建自定义TypeConverter之后我仍然无法让编译器允许这种方便的语法。 最佳答案 您需要提供一个从int到Unit的隐式转换运算符,如下所示:publicstructUnit{//theconversionoperator...publicstaticimplicito

c# - C#中base()的使用

我一直在学习C#并想查看一些开源项目以查看一些编写好的代码。我在sourceforge上找到了一个名为Todomoo的项目,其中有一部分让我感到困惑:publicclassCategory{//Notepropertiesprivateintid=0;privatestringname="";privateColorcolour=Color.Gray;//////Createanewcategory.///publicCategory(){}//////Loadacategoryfromthedatabase.//////IDofthecategorypublicCategory(in

c# - 简易喷油器 : Registering a type with constructor argument that's based on its parent

我目前正在从我的项目中删除Ninject,并转而使用SimpleInjector,但有一件事我无法正常工作。对于我的日志记录,在注册服务时,我以前能够将参数传递到我的日志记录类中_kernel.Bind().To().WithConstructorArgument("name",x=>x.Request.ParentContext.Request.Service.FullName);我正在寻找一种在SimpleInjector中重新创建它的方法。到目前为止,除了这个,我还有其他所有工作。通过执行以下操作,我可以使日志记录正常工作,尽管没有显示正确的记录器名称:_container.Re

c# - WPF 最佳实践 : Do custom controls work well with the MVVM design?

我正在考虑创建一个可以在我的页面上重复使用的通用控件:一个具有Address1、Address2、City、State、Zip等的AddressControl...最初我只是创建了一个包含所有这些项目的类(AddressEntity)并实现了INotifyPropertyChanged。我将该类作为DependencyProperty包含在我的AddressControl的代码隐藏中,并将其用作绑定(bind)到其属性的DataContext。然后,有人说我的代码很丑,我应该看看MVVM。看着它,我假设:AddressEntity.cs将只是数据(即Address1、Address2等

c# - EF 代码优先 : DropCreateDatabaseIfModelChanges doesn't work

我在我的Global.asax中使用以下代码:DbDatabase.SetInitializer(newDropCreateDatabaseIfModelChanges());但是好像不行。尽管我的模型已更改并且我正在尝试使用其中一个新添加的表,但它只是说找不到该表。Invalidobjectname'dbo.TableName'.但是,如果我运行它,它似乎可以工作,并且正在创建表:DbDatabase.SetInitializer(newDropCreateDatabaseAlways());它确实更新了我的数据库。我做错了什么? 最佳答案

c# - "Possible multiple enumeration of IEnumerable"与 "Parameter can be declared with base type"

在Resharper5中,以下代码导致list出现警告“Parametercanbedeclaredwithbasetype”:publicvoidDoSomething(Listlist){if(list.Any()){//...}foreach(variteminlist){//...}}在Resharper6中,情况并非如此。但是,如果我将方法更改为以下内容,我仍然会收到该警告:publicvoidDoSomething(Listlist){foreach(variteminlist){//...}}原因是,在这个版本中,list只枚举一次,所以改成IEnumerable不会自动

c# - 使用 RegEx 验证字符串是否为 base64 格式?

我一直在寻找如何验证base64字符串并遇到了这个问题。^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$我需要一些帮助来让它允许“==”和“=”。谢谢 最佳答案 这应该表现得非常好。privatestaticreadonlyHashSet_base64Characters=newHashSet(){'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T'

c# - 这个和base的区别

我很想知道C#中this和base对象之间的区别。使用它们时的最佳做法是什么? 最佳答案 thisbase表示当前类实例parent。使用示例:publicclassParent{publicvirtualvoidFoo(){}}publicclassChild:Parent{//callconstructorinthecurrenttypepublicChild():this("abc"){}publicChild(stringid){}publicoverridevoidFoo(){//callparentmethodbase.