jjzjj

reference

全部标签

c# - 使用两个具有相同名称和相同命名空间的 DLL

我有一个项目需要引用两个同名的DLL。DLL没有强命名,具有完全相同的名称。我需要访问每个DLL中的某些类型,但这些类型具有相同的完全限定名称。所以假设第一个是带有someProduct.Type1的companyDLL.dll和第二个是带有someProduct.Type1的companyDLL.dll。如何访问同一项目中的两个Type1类?我已经尝试使用externalias,但它需要我更改其中一个DLL的名称。 最佳答案 如果您的两个DLL具有相同的名称,您将不得不重命名它们。如Assembly1.dll和Assembly2.

c# - 为什么这不触发 "Ambiguous Reference Error"?

publicclassA{publicvirtualstringGo(stringstr){returnstr;}}publicclassB:A{publicoverridestringGo(stringstr){returnbase.Go(str);}publicstringGo(IListlist){return"list";}}publicstaticvoidMain(string[]args){varob=newB();Console.WriteLine(ob.Go(null));}http://dotnetpad.net/ViewPaste/s6VZDImprk2_CqulF

c# - 在 C# 中是否应该始终保留对正在运行的 Thread 对象的引用?

或者可以这样做吗:newThread(newThreadStart(delegate{DoSomething();})).Start();?我似乎记得在这种情况下,Thread对象会被垃圾回收,但底层操作系统线程会继续运行,直到传递给它的委托(delegate)结束。我基本上是在寻找ThreadPool功能,但不希望线程成为后台线程(即我希望它们使应用程序保持事件状态)。更新:根据Jason的说法,CLR在运行时实际上保留了对Thread对象的内部引用,因此在线程退出之前不会对其进行垃圾回收。 最佳答案 我一般发现,如果我需要像你例

c# - 如何解决 : System. TypeLoadException?

你能告诉我解决System.TypeLoadException问题的方法吗?我的解决方案中的现有项目存在此异常,我从同一解决方案中的单元测试项目中引用了该项目。当我运行我的单元测试时抛出这个异常。他们因为这个异常而失败:详细信息:TestmethodMyErrorHandler.Test.MyTest.Parse_RecievesValidMessage_ReturnsArraythrewexception:System.TypeLoadException:Couldnotloadtype'MyTestNameSpace'fromassembly'MyTestAssemblyName.

c# - 未找到类型或命名空间 "are you missing assembly reference"而所有引用都正确

我正在尝试使用MSBuildWorkspaceclass.我的项目中有所有程序集引用。当我在对象浏览器中打开引用时,我看到了namespace和我尝试使用的类。但是在我接下来的using语句中,使用Microsoft.CodeAnalysis.MSBuild我得到一个Thetypeornamespacename'MSBuild'doesnotexistinthenamespace'Microsoft.CodeAnalysis'(areyoumissinganassemblyreference?)但有趣的是,语法高亮器识别类型名称,这是编译器的提示这是构建日志1>c:\windows\M

C#/N 休眠 : Association references unmapped class

几个小时以来,我一直在努力解决这个NHibernate问题。我在网络和NHibernate文档上进行了广泛的研究,但我无法理解这个问题。我对NHibernate比较陌生,但很喜欢它。不过,在那种情况下,它让我发疯。我正在为网站编写一个小型“投票”模块。我有几个类(Poll、PollVote和PollAnswer)。主要的Poll是导致问题的原因。这就是类的样子:publicclassPoll{publicvirtualintId{get;set;}publicvirtualSiteSite{get;set;}publicvirtualstringQuestion{get;set;}pu

c# - 有趣的 "params of ref"功能,有什么解决方法吗?

我想知道对于值类型是否有任何类似的方法......publicstaticclassExtensionMethods{publicstaticvoidSetTo(thisBooleansource,paramsBoolean[]bools){for(inti=0;i那么这将是可能的:Booleana=true,b,c=true,d=true,e;b.SetTo(a,c,d,e);当然,这是行不通的,因为bool是值类型,所以它们作为值而不是引用传递给函数。除了将值类型包装成引用类型(通过创建另一个类)之外,还有什么方法可以在使用params修饰符时通过引用(ref)将变量传递给函数?

c# - 有没有办法防止某些引用被包含在项目中?

基本上,我想做一些预防性维护。我希望避免将某些第三方库作为引用包含在某个项目中。有没有一种方法可以指定项目禁止哪些引用?我要保护的项目是一个类库,我希望它具有来自一组非常特定的第三方库的功能。该类库在其他解决方案中用于实现通用数据访问功能,因此如果引用了这些第三方库,则也需要它们。目的是让那个项目只是一个数据访问库,并保持“包”轻量级。 最佳答案 我在一个大型开发团队工作,所有人都在开发相同的软件,并且遇到了类似的问题。我们在大型domain-drivendesign工作(DDD)架构具有许多不同的限界上下文,并且不希望人们在上下文

c# - 如何在 C# 中通过 ref 传递它?

在我的一个类(ClassA)中,我想创建另一个类(ClassB)的相关实例,为其提供对启动其创建的对象的引用。因此,我为ClassB提供了一个带有(refClassBparent)参数的构造函数。但是在ClassA中,我不能只调用varchild=newClassB(refthis)。如何实现? 最佳答案 ref关键字原因PassbyReference语义-也就是说,如果变量在被调用函数中被重新赋值,它也会在调用者中重新赋值变量.显然,这仅在变量2(可以重新赋值)作为参数直接传递时有效,如果是任意表达式则无效通过。在这种情况下,th

c# - OOPS 概念 : What is the difference in passing object reference to interface and creating class object in C#?

我有一个类CustomerNew和一个接口(interface)ICustomer:publicclassCustomerNew:ICustomer{publicvoidA(){MessageBox.Show("Classmethod");}voidICustomer.A(){MessageBox.Show("Interfacemethod");}publicvoidB(){MessageBox.Show("ClassMethod");}}publicinterfaceICustomer{voidA();}我对这两行代码很困惑。ICustomerobjnew=newCustomerNe