Tag: c# 4.0

Linq:使用三个嵌套级别进行查询

所以我有三张桌子: CREATE TABLE tblUser ( [pkUserID] [int] IDENTITY(1,1) NOT NULL, [userName] [varchar](150) NULL, [fkCompanyID] [int] NOT NULL ) CREATE TABLE tblCompany ( [pkCompanyID] [int] IDENTITY(1,1) NOT NULL, [name] [varchar](255) NULL ) CREATE TABLE tblSystem ( [pkSystemID] [int] IDENTITY(1,1) NOT NULL, [systemName] [varchar](150) NULL, [fkCompanyID] [int] NULL ) 这些是我的数据传输对象: public class SystemDTO { public int pkSystemId […]

Lucene .NET搜索结果

我正在使用此代码进行索引: public void IndexEmployees(IEnumerable employees) { var indexPath = GetIndexPath(); var directory = FSDirectory.Open(indexPath); var indexWriter = new IndexWriter(directory, new StandardAnalyzer(Version.LUCENE_29), true, IndexWriter.MaxFieldLength.UNLIMITED); foreach (var employee in employees) { var document = new Document(); document.Add(new Field(“EmployeeId”, employee.EmployeeId.ToString(), Field.Store.YES, Field.Index.NO, Field.TermVector.NO)); document.Add(new Field(“Name”, employee.FirstName + ” ” + employee.LastName, Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.NO)); document.Add(new Field(“OfficeName”, employee.OfficeName, Field.Store.YES, […]

在.NET 4中使用IntPtr时出现PInvokeStackImbalanceexception? (适用于.NET 3.5)

可能会有一点菜鸟的问题,但这是过去几个小时(或几天)让我陷入困境的事情…… 我在.NET Framework 4.0的代码中调用DLL中的方法 [DllImport(“xeneth.dll”)] public static extern ErrorCode XC_GetFrame(Int32 h, FrameType type, ulong ulFlags, IntPtr buff, uint size); 然后在这里使用它: if (XC_GetFrame(myCam, XC_GetFrameType(myCam), 0, IntPtr.Zero, (uint)fs) != ErrorCode.E_NO_FRAME) 但是,当我在.NET 4.0中运行它时,我得到一个P / INVOKE错误,但是……在3.5中运行它不会触发此错误。 在我和另一个程序员完成代码之后,我们似乎把它归结为在4.0上运行不同的IntPtr。 我的应用程序需要在.NET 4.0中运行,因为应用程序所需的一些function仅在4.0中可用… 有什么可能我忽视或只是忘记包括? 任何想法都非常感谢! 汤姆 更新: 土着宣言: virtual ErrCode XCamera::GetFrame(FrameType type, unsigned long ulFlags, void *buffer, unsigned int size) 错误:对PInvoke函数’DLLTest!DLLTest.Form1 :: XC_GetFrameType’的调用使堆栈失衡。 […]

从AssemblyInfo.cs文件中读取版本号

我正在尝试从AssemblyInfo.cs文件中提取版本号! 我正在尝试使用System.Reflection.Assembly.LoadFile(path); 但是这样做的时候我得到一个BadImageFormatException; “该模块应该包含一个程序集清单。(HRESULTexception:0x80131018)” 。 所以现在我更加聪明,这是不是一种可行的方式呢? 我应该使用RegEx吗? 我已经阅读了许多GetExecutingAssembly()例子,但我确实希望从其他项目中获取该版本。 澄清:我想从AssemblyInfo.cs文件中读取版本信息! 而不是来自编译的文件。 在我发布新版本之前,我正在尝试创建一个工具来更新我的版本号。

具有匿名对象的Arg .Is.Equal

在我的MVC3项目中,我使用IUrlProvider接口来包装UrlHelper类。 在我的一个控制器操作中,我有这样的调用: string url = _urlProvider.Action(“ValidateCode”, new { code = “spam-and-eggs” }); 我想在我的unit testing中存根这个方法调用,这是在一个单独的项目中。 测试设置看起来像这样: IUrlProvider urlProvider = MockRepository.GenerateStub(); urlProvider.Stub(u => u.Action( Arg.Is.Equal(“ValidateCode”), Arg.Is.Equal(new { code = “spam-and-eggs” }) )) .Return(“http://www.mysite.com/validate/spam-and-eggs”); 不幸的是, Arg.Is.Equal(new { code = “spam-and-eggs” })不起作用,因为new { code = “spam-and-eggs” } != new { code = “spam-and-eggs” }在不同的程序集中声明匿名类型时。 那么,是否有一种替代语法可以与Rhino Mocks一起使用来检查跨程序集的匿名对象之间的匹配字段值? 或者我应该用类替换匿名对象声明,像这样? public class […]

在x64模式下运行时,是否可以生成x86哈希值?

本周,当我的代码在x64进程中托管时,我发现了一个错误。 我使用哈希值进行查找,我将该哈希值存储在数据库中。 过去生成的哈希值是x86哈希值,现在正在生成x64哈希值,因为查找值不再匹配,我收到错误。 我对此持高度怀疑态度,但无论如何我还以为我会问。 如果我的代码在x64进程中运行,有没有办法生成x86哈希值? 作为参考,我使用C#在.NET 4.0上运行。 编辑: 这是我遇到的问题: String.GetHashCode()返回不同的值 您可以通过使用以下代码创建控制台应用程序来复制问题: “DDD.Events.Application.ApplicationReferenceCreated”.GetHashCode() 使用x86平台运行应用程序,然后使用x64平台运行它。 我只想在不同平台上获得一致的价值观。 但是,我可能只是创建一个预编译的哈希列表,以便我可以在需要的时候进行故障转移。 我只是想知道是否有办法从GetHashCode()获得一致的值。 我不这么认为,但如果可能的话,这将是我个案中最简单的解决方案。

连接池与Access数据库

我有一个应用程序经常从Access数据库中读取数据,有没有办法使用连接池? 我的Open Databse方法: – private bool OpenDatabaseConnection(string databaseName) { try { string connectionString = “Provider = Microsoft.Jet.OLEDB.4.0; ” + “Data Source = ” + databaseName + “;”; settingsDbConn = new OleDbConnection(connectionString); settingsDbConn.Open(); } catch (Exception) { return false; } return true; }

虽然intellisense列出了找不到定义吗?

我在Visual Studio 10中遇到了一个奇怪的错误(现在也是11)。 我有一个扩展方法 public static S Foo(this S s) where S : IEnumerable { return s; } 现在,如果我打电话 “”.Foo(); // => ‘string’ does not contain a definition for ‘Foo’ and no extension method ‘Foo’ accepting a first argument of type ‘string’ could be found (are you missing a using directive or an assembly reference?) […]

C#中struct结构的基类

http://msdn.microsoft.com/en-us/library/ah19swz4(v=VS.71).aspx 按照上面的链接……“但是,Structsinheritance自基类Object ……” 根据以下链接http://msdn.microsoft.com/en-us/library/system.valuetype.aspx Struct在层次结构中的ValueType之后实现。 “struct”是从哪个类派生出来的? 或编译器将“struct”保留字视为使用“struct”作为值类型进行任何声明? 在整体理解中缺少小线程。 谢谢您的帮助。 工匠

为什么整数属性有时会返回0?

[编辑:我意识到失败的参数实际上是一个双精度而不是一个整数。 根据日志,整数计时器都不会失败。 大多数计时器和参数都是整数,但不是全部。 双打不是primefaces的,毕竟缺乏锁定可能是个问题。 我有一个应用程序,它使用包含可配置值属性的类。 应用程序中使用的大多数属性都是派生的。 这些值在启动时设置,在应用程序的主要部分运行时不会更改。 private int _TimerInterval; public int TimerInterval { get { return _TimerInterval; } } private int _Factor1; public int Factor1 { set { _Factor1 = value; _TimerInterval = _Factor1 * _Factor2; } get { return _Factor1; } } private int _Factor2; public int Factor2 { set { _Factor2 = […]