我正在尝试反序列化一个stream,但我总是得到这个错误“分析完成之前遇到的stream结束”? 这里是代码: //Some code here BinaryFormatter b = new BinaryFormatter(); return (myObject)b.Deserialize(s);//s—> is a Stream object that has been fill up with data some line over here 任何人有想法?
在UserControl我想将鼠标光标从箭头改为手形图标。 我目前做的是这样的: this.Cursor = Cursors.Hand; 这是非常好的,它给了我一个像这样的鼠标光标: 但是这里出现了我的问题…这显示了一个用手指指着的手。 我需要的是一个“抓”的手,更像这个: 我该怎么做?如何加载图标文件(.ico),光标文件(.cur)或图像文件(.png),并将其用作鼠标光标?
我正在重构序列化为XML的一些对象,但需要保留一些属性的向后兼容性,我有一个方法,将旧对象转换为新的对象,并删除过时的属性。 我想使用Obsolete属性来告诉其他的开发者不要使用这个属性,但是这个属性被XmlSerializer忽略。 类似代码: [Serializable] public class MySerializableObject { private MyObject _oldObject; private MyObject _anotherOldObject; private MyObject _newBetterObject; [Obsolete("Use new properties in NewBetterObject to prevent duplication")] public MyObject OldObject { get { return _oldObject; } set { _oldObject = value; } } [Obsolete("Use new properties in NewBetterObject to prevent duplication")] public MyObject AnotherOldObject { get { […]
例如: BitmapImage bitmap = new BitmapImage(); byte[] buffer = GetHugeByteArray(); // from some external source using (MemoryStream stream = new MemoryStream(buffer, false)) { bitmap.BeginInit(); bitmap.CacheOption = BitmapCacheOption.OnLoad; bitmap.StreamSource = stream; bitmap.EndInit(); bitmap.Freeze(); } 你能告诉我更多关于using ? 编辑: 正如在JaredPar的post的评论中所讨论的,这个问题更关心的是在VS2003中Using的实现。 有人指出, Using直到.NET 2.0(VS2005)才被引入。 JaredPar发布了一个等效的解决方法。
我需要在C#.NET2.0中访问我的项目的程序集。 我可以在项目属性下的“Assembly Information”对话框中看到GUID,此刻我刚把它复制到代码中的const中。 GUID永远不会改变,所以这不是一个解决scheme的坏处,但它将是很好的直接访问它。 有没有办法做到这一点?
我不知道这个问题是否是愚蠢的,但是我在我自己的程序中发现了几个文本框,它接受Control +一个快捷方式来select整个文本“默认”和“无编码”。 我不知道什么额外的信息,因为我发现这些文本框之间完全没有区别。 这些都是简单的拖放文本框。 注意:我不是在谈论这段代码: if (e.Control && e.KeyCode == Keys.A) { textBox1.SelectAll(); } 我希望select默认..还有无论如何改变文本属性,使文本框接受所有默认的Windows快捷方式。 编辑:其他一切( Control + Z , Control + X , Control + C , Control + V )默认情况下工作! 为什么不Control + A ? 更新:默认情况下接受Ctrl+A的文本框是被屏蔽的文本框 ,而不是常规文本框 。 在那个时候,我使用.NET 2.0。 但我想原来的问题是别的,因为我可以看到Ctrl+A在.NET 2.0代码中默认工作正常。
无论用户的本地时区设置为什么,使用C#(.NET 2.0)我都需要确定东部时区的时间(DateTime对象)。 我知道这些方法,但似乎没有一个明显的方式来获取DateTime对象的时区不同于用户所在的时区。 DateTime.Now DateTime.UtcNow TimeZone.CurrentTimeZone 当然,解决scheme需要夏时制。
我在web.config文件中得到了下面的示例代码。 <configuration> <configSections> <section name="secureAppSettings" type="System.Configuration.NameValueSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </configSections> <secureAppSettings> <add key="userName" value="username"/> <add key="userPassword" value="password"/> </secureAppSettings> </configuration> 我的新的部分secureAppSettings被解密,并且里面有两个密钥。 现在在我的代码中,我想要访问这些键如下所示: string userName = System.Configuration.ConfigurationManager.secureAppSettings["userName"]; string userPassword = System.Configuration.ConfigurationManager.secureAppSettings["userPassword"]; 但是这些字段返回null 。 我怎样才能得到的价值?
我写了我自己的自定义数据层来坚持一个特定的文件,我用自定义的DataContext模式抽象它。 这是基于.NET 2.0框架(给定目标服务器的限制),所以即使其中一些看起来像LINQ到SQL,它不是! 我刚刚实现了一个类似的数据模式。 看下面的例子,我不能解释的情况的例子。 为了获得动物的所有实例 – 我这样做,它工作正常 public static IEnumerable<Animal> GetAllAnimals() { AnimalDataContext dataContext = new AnimalDataContext(); return dataContext.GetAllAnimals(); } 并在下面的AnimalDataContext()中实现GetAllAnimals()方法 public IEnumerable<Animal> GetAllAnimals() { foreach (var animalName in AnimalXmlReader.GetNames()) { yield return GetAnimal(animalName); } } AnimalDataContext()实现了IDisposable,因为我在那里有一个XmlTextReader,我想确保它快速清理。 现在,如果我把这样的使用语句中的第一个调用 public static IEnumerable<Animal> GetAllAnimals() { using(AnimalDataContext dataContext = new AnimalDataContext()) { return dataContext.GetAllAnimals(); } } 并在AnimalDataContext.GetAllAnimals()方法的第一行放置一个断点,并在AnimalDataContext.Dispose()方法的第一行放置另一个断点,然后执行… […]
有人可以提供一些代码来获取System.Xml.XmlNode实例的xpath吗? 谢谢!