草庐IT

指定版本

全部标签

不指定类型的 C# 泛型方法

好吧,我是一个开始使用C#的Java人,我正在编写代码并开始制作一个泛型方法,我编写的内容可以运行和编译,但它违背了我所知道的关于泛型应该如何工作的一切,所以我希望有人可以向我解释一下:所以我有一个泛型方法定义如下:publicstaticListCopyAsList(IEnumerablelist,ObjectlockObject){if(list!=null){lock(lockObject){returnnewList(list);}}returnnull;}但对我来说奇怪的是,我可以在不指定T的情况下调用这个通用方法,它会起作用:Liststrings=newList(){"a

c# - Entity Framework 6 错误无法加载指定的元数据资源

我在我的解决方案中使用EntityFramework6和“模型优先”,我将“数据模型”类分离到另一个项目中,这样我就可以添加对“数据模型”类的引用而不公开我的“数据模型”上下文”和连接。我不想将我的实体数据模型项目(尤其是数据库上下文等)公开到我的UI层。我有这个:我现在已经成功地将我的自动生成的实体类与我的数据模型分离,我通过添加一个实体或一个属性到一个实体来尝试它在项目Mapeo.BusinessEntity中更新。这是我来自DatabaseLayer(Mapeo.DatabaseModel)的连接字符串在我的服务层,我将此连接字符串复制到App.config,我的问题是当我想添加

c# - ADO.NET:为所有 VarChar 参数的 SqlParameter.Size 指定 -1 安全吗?

我们有一个现有的C#代码主体,可以在许多地方调用参数化的即席SQLServer查询。我们从不指定SqlParameter.Size,它记录了在这种情况下,SqlParameter类从参数值推断大小。我们最近才意识到由此产生的SQLServer计划缓存污染问题,其中为每个不同的参数大小组合缓存了一个单独的计划。幸运的是,每当我们创建一个SqlParameter时,我们都是通过一个实用方法来完成的,因此我们有机会向该方法添加几行代码并解决这个问题。我们正在考虑添加以下内容:if((sqlDbType==SqlDbType.VarChar)||(sqlDbType==SqlDbType.NV

c# - 我可以告诉 bindingRedirect 始终使用最新的可用版本吗?

对于ASP.NET应用程序,Web.Config文件中有几个条目,格式如下:这些库以NuGet包的形式出现。现在每次更新我的20多个NuGet包时,我都会执行以下操作:一键更新所有包。在浏览器中打开应用程序。查看类似thisone的错误.打开我的Web.Config,找到绑定(bind)重定向条目。查找程序集的最新版本。修改我的web.config。更新所有其他具有绑定(bind)重定向的已更新NuGet包的步骤2…6。这非常烦人。我的问题:有没有办法告诉bindingRedirectentry始终使用最新版本?例如像这样的东西:(使用通配符来告诉最新版本)我最接近的是这样的:(只指定

c# - 如何使自动版本号在 Visual Studio 中工作

有人要求我为代码库中的程序集添加自动编号。我一直在将版本从默认的1.0.0.0更改为1.0.*,如下所示:[程序集:AssemblyVersion("1.0.*")]它会生成一个我想要的数字。但是,代码库有数百个DLL,其中许多相互引用。现在,当我编译一些项目时,他们提示引用组件所需的DLL版本不正确,他们不会构建:(我怎样才能使这项工作?我们需要它,以便在编译代码库层次结构底部的DLL时,所有其他引用它的DLL都可以正常工作,而无需重新编译。我得到的错误是这样的:Error1CA0058:Thereferencedassembly'Library1,Version=1.0.4146.

c# - 将 Tortoise SVN 修订号链接到程序集版本

我正在visualstudio中用C#.net开发一个程序,并使用tortoiseSVN对其进行版本控制。目前我正在根据内部版本号创建程序集版本。有没有一种方法可以将项目程序集版本的最后部分链接到TortoiseSVN中的修订号,例如:伪代码:[assembly:AssemblyVersion("1.0.0."+SvnRevisionNumber.ToString())]这将确保我的程序集是根据提交到存储库的最后修订号命名的,而不是它们的内部版本号。 最佳答案 我使用的是在构建后事件中调用一个cmd文件:@echooffif%1x=

c# - 从 VID/PID 中查找 USB 盘符(XP 及更高版本需要)

所以我想我会在这里包含最终答案,这样您就不必理解这篇文章了。非常感谢SimonMourier花时间解决这个问题。我的工作代码try{//GetalistofavailabledevicesattachedtotheUSBhubListdisks=newList();varusbDevices=GetUSBDevices();//EnumeratetheUSBdevicestoseeifanyhavespecificVID/PIDforeach(varusbDeviceinusbDevices){if(usbDevice.DeviceID.Contains(USB_PID)&&usbDe

c# - 加载同一程序集的多个版本

我正在使用第三方程序集,不幸的是我现在需要将他们的最新版本和以前的版本加载到我的项目中,以便在运行时我可以决定加载哪个。我只需要一个,不需要两个。考虑到这一点,我还依赖于组件提供的类型,因此我无法每次都从反射加载并查询我想要使用的方法/事件/接口(interface)。我看到有人提到通过AppDomains处理这个问题,但我不确定如何继续。该过程是否是针对组件的一个版本进行编码,然后在运行时(使用AppDomain)交换我想要使用的正确DLL?所以我只会在启动时处理这个? 最佳答案 如果两个程序集兼容,您可以在app.exe.con

c# - 如何制作类(class)的只读版本?

我有一个包含各种公共(public)属性的类,我允许用户通过属性网格对其进行编辑。为了持久化,此类还通过DataContractSerializer序列化/反序列化为XML文件。有时我希望用户能够保存(序列化)他们对类实例所做的更改。然而在其他时候,我不想让用户保存他们的更改,而是应该将属性网格中的所有属性视为只读。我不想让用户做出他们以后永远无法保存的更改。类似于MSWord将如何允许用户打开其他人当前打开的文档,但仅作为只读。我的类有一个bool属性,用于确定类是否应该是只读的,但是是否可以使用此属性以某种方式在运行时动态地向类属性添加只读属性?如果不是,替代解决方案是什么?我应该

c# - 指定的元素已经是另一个元素的逻辑子元素。先断开它

这是我想将FrameworkElement附加到新窗口以将其发布到PNG文件时遇到的错误。所以我的想法是删除父子链接,调用我的方法,然后使用以下代码再次添加child:this.RemoveLogicalChild(element);PublishFrameworkElement(element,stream);this.AddLogicalChild(element);但我得到了完全相同的错误......我看了很多关于这个错误的问题,这里是SO,但没有人回答我的问题我错过了什么?编辑:这是对我有用的代码:varelement=_GeneratedContentasFrameworkE