Tag:

使用BinaryWriter将一个位写入二进制文件

我想将一个位写入二进制文件。 using (FileStream fileStream = new FileStream(@”myfile.bin”, FileMode.Create)) using (BinaryWriter binaryWriter = new BinaryWriter(fileStream)) { binaryWriter.Write((bool)10); } 像binaryWriter.Write((bit)1); 当我使用binaryWriter.Write((bool)1) ,文件有一个字节,但我想写一个字节。 这可能吗?

dotnet dll反编译并更改代码

我需要更改.NET DLL的代码。 我可以通过使用.NETreflection器编译DLL来查看代码,但是我无法更改DLL的代码。 使用.NET Reflector,我将代码反编译并保存到我的硬盘中,但是当我能够重新编译代码时,它会给出错误。 很少有代码以二进制格式反编译,很少有代码用c#反编译。 是否有任何工具可以更改和重新编译DLL? 以下是我用来尝试反编译DLL的工具: ILSpy DisSharp Reflector7.1带有Reflexil插件 Spices.Net.Suite.5.8 部署.NET 1.0.0 devextras.codereflect dotPeek-1.0.0.2545 intellilock JustDecompile_BETA_2011.1.728.1 不幸的是,没有一个工具能够提供完美的源代码来重新编译DLL代码。

如何在C#中迭代类的实例?

有没有办法在C#中迭代一个类的实例? 不会在集合中跟踪或管理这些实例。

调试器Visualizer和“类型未标记为可序列化”

我正在尝试创建一个调试器可视化器,它将显示任何Control控件层次结构。 它已经完成,但我得到了exception“类型未标记为可序列化” 。 我该如何克服这个问题? Control是.NET Windows Forms框架类型,我无法将其标记为可序列化。

Mysql连接器 – MultipleActiveResultSets问题

首先,我花了几个小时寻找修复 – 也许我只需要另外一双眼睛来解决这个问题。 我正在为自己编写ac#应用程序(个人使用)。 我从mysql.com运行最新的MySQL连接器库 我的连接字符串是 public string SQLConnection = “Server=localhost;Database=data;Uid=root;Pwd=ascent;charset=utf8;MultipleActiveResultSets=True;”; 我的问题是关于MultipleActiveResultSets=True; 。 当它包含在我的SQLConnection字符串中时,MySQL库无法连接。 查看下面的图片以查看我的发现 http://sofzh.miximages.com/c%23/25a57p1.png 完整图片: http : //i62.tinypic.com/25a57p1.png 当MultipleActiveResultSets=True; 从连接字符串中删除,我得到了这个结果 http://sofzh.miximages.com/c%23/2useaom.png 完整图片: http : //i58.tinypic.com/2useaom.png 我获得了成功的联系。 MultipleActiveResultSets的原因是因为我同时使用了2个MySqlDataReader – 但是无法更改。 如果有人知道为什么会失败,那么请建议你的修复。 我的本地MySQL服务器版本:5.6.17

ASP.NET MVC模型绑定到列表中

在我的ASP.NET MVC站点中,function的一部分允许用户输入某个场所打开时的小时数。 我决定将这些小时存储在我的数据库中的VenueHours表中,与Venues表的FK-PK关系,以及DayOfWeek,OpeningTime和ClosingTime参数。 在我的视图中,我想让用户只输入他们所知道的时间; 换句话说,有些日子可能没有为场地填写。 我正在考虑创建一个复选框,用户可以检查该复选框以启用复选框所属的DayOfWeek的OpeningTime和ClosingTime字段。 我的问题涉及如何将此信息传递给我的HttpPost控制器操作 。 我知道可以传递的最大天数(7),我当然可以在我的Action中编写7个可以为空的VenueHour参数,但我确信有更好的方法。 我可以以某种方式将视图信息绑定到传递给我的Action的List吗? 如果我遇到用户可以填写的信息数量没有限制的情况,这也将对我有所帮助。

如何一次迭代两个数组?

我在解析文本文件时构建了两个数组。 第一个包含列名,第二个包含当前行的值。 我需要一次迭代两个列表来构建一个地图。 现在我有以下内容: var currentValues = currentRow.Split(separatorChar); var valueEnumerator = currentValues.GetEnumerator(); foreach (String column in columnList) { valueEnumerator.MoveNext(); valueMap.Add(column, (String)valueEnumerator.Current); } 这很好用,但它并不能完全满足我的优雅感,如果arrays的数量大于2,它会变得非常毛茸茸(我偶尔会这样做)。 有没有人有另一个更高级的成语?

属性的自定义模型绑定器

我有以下控制器操作: [HttpPost] public ViewResult DoSomething(MyModel model) { // do something return View(); } MyModel如下: public class MyModel { public string PropertyA {get; set;} public IList PropertyB {get; set;} } 所以DefaultModelBinder应该没有问题地绑定它。 唯一的事情是我想使用特殊/自定义绑定器来绑定PropertyB ,我也想重用这个绑定器。 所以我认为解决方案是在PropertyB之前放置一个ModelBinder属性,这当然不起作用(属性上不允许使用ModelBinder属性)。 我看到两个解决方案: 要在每个属性上使用动作参数而不是整个模型(我不喜欢,因为模型有很多属性),如下所示: public ViewResult DoSomething(string propertyA, [ModelBinder(typeof(MyModelBinder))] propertyB) 要创建一个新类型,可以说MyCustomType: List并注册此类型的模型绑定器(这是一个选项) 也许为MyModel创建一个绑定器,重写BindProperty ,如果属性为”PropertyB”则使用我的自定义绑定器绑定该属性。 这可能吗? 还有其他解决方案吗?