Tag: C#的

如何迭代类字段和设置属性

我不知道这是否可能,但我想遍历一个类,并设置一个字段成员属性,而不明确指出字段对象: public class Employee { public Person _person = new Person(); public void DynamicallySetPersonProperty() { MemberInfo[] members = this.GetType().GetMembers(); foreach (MemberInfo member in members.Where(a => a.Name == "_person")) //get the _person field { Type type = member.GetType(); PropertyInfo prop = type.GetProperty("Name"); //good, this works, now to set a value for it //this line does not […]

lock()保证是否按顺序获取?

当多个线程在同一个对象上请求一个锁时,CLR是否保证锁将按照它们被请求的顺序被获取? 我写了一个testing,看看这是否是真实的,似乎表明是的,但我不确定这是否是确定性的。 class LockSequence { private static readonly object _lock = new object(); private static DateTime _dueTime; public static void Test() { var states = new List<State>(); _dueTime = DateTime.Now.AddSeconds(5); for (int i = 0; i < 10; i++) { var state = new State {Index = i}; ThreadPool.QueueUserWorkItem(Go, state); states.Add(state); Thread.Sleep(100); } states.ForEach(s => […]

C ++ 11相当于boost shared_mutex

是否有boost::shared_mutex的C ++ 11等价物。 或者另一种解决scheme来处理在C + + 11多读者/单写作者的情况?

将分离的实体保存在entity framework6中

我已经阅读了很多关于在Entity Framework中保存分离实体的文章。 他们都似乎适用于旧版本的entity framework。 他们引用的方法,如ApplyCurrentValues和ChangeObjectState似乎并不存在。 一时兴起,我决定尝试一种我通过intellisensefind的方法,我想确保这是做这件事的正确方法,因为我不明白幕后发生了什么: public void SaveOrder(Order order) { using (VirtualWebEntities db = new VirtualWebEntities()) { db.Orders.Attach(order); db.Entry(order).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } } 这是更新已更改的现有项目的正确方法吗?

以编程方式创buildSQL Server CE数据库文件

如何以编程方式创build新的SQL Server Compact数据库文件(.sdf),而不需要从现有模板文件复制?

ReaderWriterLock vs lock {}

请解释什么是主要区别,什么时候应该使用什么。 关注Webmultithreading应用程序。

什么是Ninject,什么时候使用它?

我一直在帮助一些项目的朋友,还有一个使用Ninject的课程。 我对C#相当陌生,我不知道这个类正在做什么,这就是为什么我需要理解Ninject。 任何人都可以解释Ninject是什么以及什么时候使用它(如果可能,举例)? 或者,如果你可以指出一些很好的链接。 我试过这个问题: Ninject教程/文档? 但对于像我这样的初学者并没有什么帮助。

错误:过时的旧式基类初始化器

以下代码在C ++ 98,C ++ 11和C ++ 14模式下尝试的所有版本的GCC上产生后续编译错误: struct T { T(void* x) : (x) {} }; // main.cpp: In constructor 'T::T(void*)': // main.cpp:3:18: error: anachronistic old-style base class initializer [-fpermissive] // T(void* x) : (x) {} // ^ // main.cpp:3:16: error: unnamed initializer for 'T', which has no base classes // T(void* x) : (x) […]

我怎样才能确定一个文件是二进制或文本在C#中?

我需要确定在80%,如果一个文件是二进制或文本,有没有办法做到这一点,即使在c#中快速和脏/丑陋?

在C ++中的函数式编程

有人可以指导我如何在C ++的function编程? 有一些很好的在线资料可以参考吗? 请注意,我知道库FC ++。 我想知道如何单独使用C ++标准库。 谢谢。