草庐IT

强引用

全部标签

c# - 垃圾回收如何处理对象引用?

我对对象的垃圾回收过程感到困惑。objectA=newobject();objectB=A;B.Dispose();通过仅对变量B调用Dispose,创建的对象将不会被垃圾回收因为对象仍然被A引用。现在下面的代码和上面的一样吗?publicstaticimageTest1(){BitmapA=newBitmap();returnA;}现在我从其他方法调用这个静态函数。publicvoidTestB(){BitmapB=Test1();B.Dispose();}静态函数Test1返回了对Bitmap对象的引用。引用已保存在另一个变量B中。通过对B调用Dispose,B和对象之间的连接丢失

c# - CompilerParameters.ReferencedAssemblies -- 添加对 System.Web.UI.WebControls 的引用

我正在使用CodeDomProvider类在运行时编译类。这适用于仅使用System命名空间的类:usingSystem;publicclassTest{publicStringHelloWorld(){return"HelloWorld!";}}如果我尝试使用System.Web.UI.WebControls编译一个类,我会得到这个错误:{errorCS0006:Metadatafile'System.Web.UI.WebControls'couldnotbefound}System.CodeDom.Compiler.CompilerError这是我的代码片段:varcp=newCo

c# - Entity Framework 4 加载引用异常

我在EntityFramework4中加载对父对象的引用时遇到问题。由于延迟加载,对父对象(Condition)的引用未加载到子对象(DiscountLevel),因此我尝试加载它与:if(!this.ConditionReference.IsLoaded)this.ConditionReference.Load();但这会引发以下异常:theentityreferencecouldnotbeloadedbecauseitisnotattachedtoanobjectcontext因此,如果我尝试将现有的子对象(DiscountLevel)附加到对象上下文(然后加载父引用):conte

c# - 如何从 xaml 中引用 .resx 文件中的图标?

我正在开发一个C#WPF应用程序,使用.resx文件进行资源管理。现在,我正在尝试向项目添加图标(.ico),但遇到了一些问题。这工作正常,但是当我将图标移动到AppResources.resx时,我遇到了在xaml代码中引用它的问题。我应该使用什么来代替上面的SetterProperty=...行?这:不起作用,我想我可能需要使用与“源”不同的属性,因为现在值不是指向图标的字符串,而是图标本身。不过,我不知道该使用哪一个-请帮忙? 最佳答案 Source属性并不“想要”一个字符串,它只是在获得一个字符串时对其进行转换。如果您将图标

C# 插件架构和对用户可配置数据库设置的引用

我有一个可由用户配置的数据库应用程序-其中一些选项是从不同的外部插件系统中选择的。我有一个基本插件类型,我的数据库模式具有相同的插件记录类型和相同的字段。我有一个PlugingMananger在应用程序启动时加载插件(通过IoC容器)并将它们链接到数据库(本质上是将磁盘上的字段从插件复制到数据库)。publicinterfaceIPlugin{GuidId{get;}VersionVersion{get;}stringName{get;}stringDescription{get;}}然后可以使用PlugingMananger.GetPlugin(GuidpluginId,Guidus

c# - 从 XAML 引用嵌套枚举类型

我似乎无法从XAML引用公共(public)嵌套枚举类型。我有课namespaceMyNamespace{publicclassMyClass{publicenumMyEnum{A,B,}}}我尝试像这样在Xaml中引用MyEnum:xmlns:MyNamespace="clr-namespace:MyNamespace;assembly=MyApp"....{x:TypeMyNamespace:MyClass:MyEnum}//DOESN'TWORK但是VS提示它找不到公共(public)类型MyEnum。我还尝试根据thispost的答案之一使用+语法...{x:TypeMyNam

c# - 如何在运行时加载的程序集中使用公共(public) log4net 引用?

我有一个单线程应用程序,它使用以下代码在运行时加载多个程序集:objDLL=Assembly.LoadFrom(strDLLs[i]);我希望以这种方式加载的程序集使用与其余程序集相同的log4net.ILog引用。但是看起来运行时加载的程序集有一个完全不同的引用并且需要它们自己的配置。有谁知道单个log4net.ILog是否可以跨使用.NET接口(interface)在运行时加载的程序集使用?这是Program类中的log4net.ILog创建和支持代码://Configurelog4netusingthe.configfile[assembly:log4net.Config.Xml

C# - FileHelper FieldConverter 例程可以引用记录中的其他字段吗?

我正在使用出色的FileHelpers库来处理固定长度的航类时刻表文件。我有一个日期字段,然后是记录中稍后的几个字段,一个时间字段。我想在FileHelpers记录类中结合这两者,并且知道有一个自定义的FieldConverter属性。使用此属性,您可以提供一个自定义函数来处理您的字段数据并实现StringToField和FieldToString。我的问题是:我能否也将其他字段(已读取)传递给该客户FieldConverter,这样我就可以将日期和时间组合在一起。FieldConverter具有允许您引用自定义处理类和“其他字符串”甚至对象数组的实现。但是,鉴于这是在属性定义中完成的

c# - WCF 服务引用从 WSDL 生成无效方法

这是我第一次尝试使用WCF,所以我猜我做错了什么。我正在尝试访问由位于http://confluence.atlassian.com/rpc/soap-axis/confluenceservice-v1?wsdl的WSDL定义的soap服务我正在使用VS2010,我向我的项目添加了一个服务引用并将其指向那里的URL(或者更确切地说,我们的内部网安装它),但是当我使用对象浏览器查看服务时,界面上的操作都是没有参数的void方法。似乎WCF没有正确读取类型信息。它不会给出错误,但会给出大量警告,如下所示:Warning1Customtoolwarning:FaultnamedInvalid

c# - 在 Fluent NHibernate 自动映射中自引用多对多关系自动映射到 1 :n and not n:n

标题几乎解释了一切,我有一个成员对象,它引用了也是成员类型的“friend”。publicclassMember:Entity{publicMember(){Friends=newList();}publicvirtualIListFriends{get;set;}}模式生成工具使其成为1:n关系,而它应该是n:n关系,即在成员表中添加一个名为member_id的列,并且不创建连接表。有什么方法可以在FluentNHibernate中创建一个引用多对多关系的Self吗?我尝试使用我之前得到的覆盖作为答案:publicclassMemberOverride:IAutoMappingOve