Tag: .net

Json.Net PopulateObject附加列表而不是设置值

我在.Net 4.5上使用Json.Net,当在下面的对象上使用populate对象时,它会使用json的内容递增List,而不是设置其值。 Json.Net JsonConvert.PopulateObject(string, object) 类 class MySettingSubClass { public List MyStringList1 = new List(){“one”, “two”, “three”} } class MySetting { public string MyString = “MyString”; public int MyInt = 5; public MySettingSubClass MyClassObject = new MySettingSubClass(); public List MyStringList2 = new List{“one”, “two”, “three”}; } 当他们最初加载时,一切都是正确的,但是从JSON重新加载MyStringLists都是重复的”one”, “two”, “three”, “one”, “two”, “three”

在.NET中自定义TrackBar控件

我正在尝试开发应用程序,让我在时间轴上标记AB点。 如何在轨迹栏上绘制线条以标记特定点/值? 另外,当TickStyle设置为Both时,如何隐藏TickStyle控件中的刻度?

在Windows 7中保留屏幕区域

是否可以在Windows 7中为应用程序的屏幕边缘预留屏幕区域? 它的行为类似于Windows任务栏(即最大化的窗口不会与它重叠)。 我正在编写一个任务栏应用程序,适当支持多个监视器。 主要目的是在每个屏幕上显示一个任务栏,其中仅包含该屏幕上的应用程序。 现在的解决方案( Ulltramon , DisplayFusion )都没有为Win 7工作,也没有一个是开源的。 C#代码会很好,但任何提示也都很受欢迎。

获取Outlook 2007中当前用户的电子邮件地址

我有一个用C#编写的Outlook添加。 我想知道如何获得当前用户的电子邮件地址? 谢谢

如何在c#中使用XMLSerialize for Enum类型的属性?

我有一个简单的枚举: enum simple { one, two, three }; 我也有一个类型simple的类。 我尝试使用以下属性进行装饰: [XmlAttribute(DataType = “int”)] 。 但是,当我尝试使用XmlWriter序列化它时它失败了。 这样做的正确方法是什么? 我是否必须标记枚举本身以及属性,如果是,请使用哪种数据类型?

调试C#代码时的符号问题

我正在使用WinDbg从托管代码(C#,为任何CPU构建的控制台应用程序)加载故障转储,并在x64平台上创建故障转储。 我在x64平台上进行调试。 我已将相关的PDB文件放入符号路径中。 但WinDbg总是从一个奇怪的文件夹中找到符号。 这是一个例子(当我使用时!sym noisy): SYMSRV: c:\MySymbols\FooService.pdb\4311207E2E2D442CB7473828D2488F941\FooService.pdb not found 我的应用程序称为FooService.exe ,相关的PDB文件名为FooService.pdb 。 我已将C:\MySymbols设置为符号路径,并将FooService.pdb复制到目录C:\MySymbols 。 但是为什么WinDbg在C:\MySymbols找不到FooService.pdb ,而是从一个奇怪的子文件夹“FooService.pdb \ 4311207E2E2D442CB7473828D2488F941”? 在我的场景中,为了加载PDB符号文件,最好的解决方案是什么(我必须自己手动创建子文件夹FooService.pdb\4311207E2E2D442CB7473828D2488F941 )?

c#中的多变量开关语句

我想使用一个带有几个变量的switch语句,如下所示: switch (intVal1, strVal2, boolVal3) { case 1, “hello”, false: break; case 2, “world”, false: break; case 2, “hello”, false: etc …. } 有没有办法在C#中做这样的事情? (出于显而易见的原因,我不想使用嵌套的switch语句)。

TimeSpan FromMilliseconds奇怪的实现?

我最近在.net timespan实现中遇到了一些奇怪的行为。 TimeSpan test = TimeSpan.FromMilliseconds(0.5); double ms = test.TotalMilliseconds; // Returns 0 FromMilliseconds采用double作为参数。 但是,似乎内部的值是四舍五入的。 如果我使用5000个滴答(.5毫秒)实例化新的时间跨度,则TotalMilliseconds的值是正确的。 查看reflection器中的TimeSpan实现会发现输入实际上已经转换为long。 为什么Microsoft将FromMilliseconds方法设计为使用double参数而不是long(因为在实现时,double值是无用的)?

如何旋转WPF窗口?

是否可以使用xaml将WPF窗口旋转45度?

如何确定驱动器是否为外部驱动器

如何确定驱动器是否是通过USB插入的外置驱动器? 我检查了DriveInfo.DriveType但是通过usb插入了我的1TB外置驱动器,它显示为固定驱动器。 想法?