Tag: .net

使用newtonsoft.json反序列化List

我正在尝试序列化和反序列化一个abstract类列表( mustinherit ),其中只有派生类的实例。 我用JsonProperty(ItemTypeNameHandling = TypeNameHandling.Auto)修饰了list参数,获得了如下所示的输出: 但是当我反序列化时,它一直说他不能反序列化抽象类。 http://james.newtonking.com/json/help/index.html?topic=html/SerializeTypeNameHandling.htm public class ConcreteClass { private ObservableCollection _Nodes = new ObservableCollection(); // public ObservableCollection Nodes { get { return this._Nodes; } } public string Name { get; set; } public int Id { get; set; } } public abstract class AbstractClass { private ObservableCollection _Nodes = new ObservableCollection(); […]

Singleton的简单实现

这不是一个更简单,更安全(因此更好)的方式来实现单例而不是双重检查锁定mambo-jambo? 这种方法有什么缺点吗? public class Singleton { private static Singleton _instance; private Singleton() { Console.WriteLine(“Instance created”); } public static Singleton Instance { get { if (_instance == null) { Interlocked.CompareExchange(ref _instance, new Singleton(), null); } return _instance; } } public void DoStuff() { } } 编辑:线程安全测试失败,谁能解释为什么? 为什么Interlocked.CompareExchange不是真正的primefaces? public class Program { static void Main(string[] args) { […]

有没有办法用C#编辑pdf?

我需要在C#.NET中在运行时编辑pdf。 这可能吗? 就像在pdf中复制东西,编辑文本字段,……?

从DataGrid中选择DataGridCell

我有一个DataGrid WPF控件,我想获得一个特定的DataGridCell 。 我知道行和列索引。 我怎样才能做到这一点? 我需要DataGridCell因为我必须能够访问其内容。 因此,如果我(例如)有一个DataGridTextColum列,我的Content将是一个TextBlock对象。

如何正确设置Silverlight CurrentUICulture / CurrentCulture?

我正在使用C#开发SL5应用程序,我希望将其国际化。 我发现以下内容来设置UI文化: var culture = new CultureInfo(Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName); Thread.CurrentThread.CurrentUICulture = culture; Thread.CurrentThread.CurrentCulture = culture; 像DatePicker这样的控件似乎可以选择它。 如果我使用’d’格式字符串格式化任何日期时间,我仍然会得到默认格式“M / dd / yyyy”。 SL究竟如何解释文化以及如何为整个应用程序正确设置? 谢谢 更新: 找到答案: 首先,在Application_Startup中设置适当的文化: var culture = new CultureInfo(“nl-BE”); Thread.CurrentThread.CurrentUICulture = culture; Thread.CurrentThread.CurrentCulture = culture; 然而,关键因素是添加以下内容以强制RootVisual的文化/语言: var root = RootVisual as Page; if (root != null) { root.Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name); }

OfType ()如何工作?

OfType()如何工作? 我读了这个链接,了解发生了什么,但LINQ提供程序究竟如何知道如何获得与指定类型匹配的所有对象。 我知道IQueryable “链接”请求,然后在调用GetEnumerator()时评估(对吗?)。 具体来说,我想知道框架如何快速进行类型比较? 我在.NET 2.0项目中编写了一个类似的方法(因为2.0不支持这些function): public IEnumerable OfType() where TResult : class { foreach (TItem item in this.InnerList) { TResult matchItem = item as TResult; if (matchItem != null) { yield return matchItem; } } } 这是最好的实施吗? 编辑:我对这个OfType()主要关注是它很快 。

如何在Windows XP上以管理员身份运行其他应用程序

我使用了此处所述的应用程序清单文件,使我的应用程序的一部分以提升的权限运行(它需要)。 因此,在需要时,主程序只使用Process.Start调用一个小程序集,然后处理需要管理员权限的任务。 但是,如何在Windows XP上执行相同的操作? 似乎XP只是忽略了这个清单并在当前用户上下文中运行小程序集。

检查文件是否正在使用而不尝试catch?

有没有办法可以检查文件是否正在使用或者是否被其他进程打开而不仅仅是尝试打开它并捕获exception? 有没有服务方法来测试这样的事情?

在Windowsapp store应用中使用httpclient获取UTF-8响应

我正在构建一个Windowsapp store应用,但我坚持从API获取UTF-8响应。 这是代码: using (HttpClient client = new HttpClient()) { Uri url = new Uri(BaseUrl + “/me/lists”); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, url); request.Headers.Add(“Accept”, “application/json”); HttpResponseMessage response = await client.SendRequestAsync(request); response.EnsureSuccessStatusCode(); string responseString = await response.Content.ReadAsStringAsync(); response.Dispose(); } reponseString总是包含奇怪的字符,这些字符应该是é等重音符号,我尝试使用流,但是我在Windows RT中找不到某些示例中的API。 编辑:改进代码,仍然是同样的问题

如何从Entity Framework / LINQ中的特定表中提取元组列表?

我需要从带有Entity Framework的C#.NET中的大表中提取一对’ID’/’Name’的列表。 我试试这个请求: List<Tuple> list = (from res in db.Resource select new Tuple(res.Resource_ID, res.Name)).ToList(); 但不幸的是我有这个错误: LINQ to Entities中仅支持无参数构造函数和初始值设定项。 我不知道如何用这个框架提取这个元组列表,我觉得这个错误有点丢失。 你能帮我理解和解决我的问题吗? 最好的祝福, 亚历克斯