草庐IT

引用丢失

全部标签

c# - 我可以在 C# 中通过引用传递原始类型吗?

我知道在C#中,复杂类型是通过引用传递的,而基本类型是通过值传递的。我可以在C#中通过引用传递基本类型吗?更新:感谢您的回答,但我的例子是?voidtest(objectx){}longy=1;test(refy);这会引发此异常:“ref”参数类型与参数类型不匹配 最佳答案 这里有几个不同的问题。CanIpassprimitivetypesbyreferenceinC#?首先,让我们确保这里的行话是正确的。目前还不清楚你所说的“原始类型”是什么意思。你的意思是像int或long这样的“内置到运行时”类型吗?您指的是任何值类型,无论

c# - 你应该在什么时候理解引用文献?

我在一个入门级程序员的面试中问了这样一个问题:varinstance1=newMyObject{Value="hello"}varinstance2=instance1;instance1.Value="bye";Console.WriteLine(instance1.Value);Console.WriteLine(instance2.Value);应聘者回复“你好”、“再见”作为输出。我的一些同事说“指针”不再那么重要,或者这个问题不是真正的能力判断。他们是对的吗?编辑:指出MyObject可能是一个结构。这是一个好点。但是,我没有发布我给受访者的完整问题。完整的问题有一个类显然是

c# - 获取对数组内部结构的引用

我想修改数组内部结构的字段,而不必设置整个结构。在下面的示例中,我想在数组中设置元素543的一个字段。我不想复制整个元素(因为复制MassiveStruct会影响性能)。classP{structS{publicinta;publicMassiveStructb;}voidf(refSs){s.a=3;}publicstaticvoidMain(){S[]s=newS[1000];f(refs[543]);//Error:Anobjectreferenceisrequiredforthenon-staticfield,method,orproperty}}有没有办法在C#中做到这一点?

c# - PowerShell 和服务器管理器模块的跨平台系统库引用

我正在编写的程序使用System.Management.Automation库来利用在那里定义的PowerShell类和接口(interface)。这些库有两个版本:1.0.0.0和3.0.0.0。WindowsServer2008在其GAC版本1.0中,WindowsServer2012在其GAC中同时具有1.0和3.0。为了能够在VS项目中使用这个库,我不得不引用它。现在要做决定,我应该引用哪一个?好吧,因为两台服务器的GAC中都有1.0,所以引用1.0应该是安全的。尽管如此,以防万一,如果GAC中存在一些罕见(或常见?)的情况,我会将其复制到本地。使用这个库的示例代码:using

C# 泛型通配符或如何保存对未知泛型继承的引用

好的,情况是这样的。我有一个FlexCollection类,其目的是保存FlexItem的一些专业列表,因此:publicclassFlexCollectionwhereT:FlexItem,new(){publicvoidAdd(Titem){...}...}FlexItem不是泛型类本身。我想要实现的是能够保持FlexItem的字段是对包含该对象的集合的引用。不幸的是,在C#中,不可能保留对模板类的“任何”特化的引用(如在Java中)。起初我尝试使用非通用接口(interface)IFlexCollection但它实际上迫使我对每个方法执行两次,即:publicclassFlexC

c# - MSBuild 内联任务 - 引用非标准 Microsoft 程序集

我正在使用新的MSBuild内联任务来利用Microsoft.Web.Publishing.Tasks.dll程序集中的TransformXml(XDT转换)。这是我的任务(截图)的样子:...这可以很好地编译并加载DLL,但是,当它执行时失败,因为它试图在appbase路径中找到程序集,该路径是:C:\Windows\Microsoft.NET\Framework\v4.0.30319。我本以为它会看我给它的路径。Fusion日志显示:===Pre-bindstateinformation===\rLOG:User=xxx\Kamran\rLOG:DisplayName=Micros

c# - _MailAutoSig 书签丢失(Outlook 2010)

我不久前为Outlook编写了一个插件,它在Outlook消息的签名下方添加/删除了一个可选标语。此加载项可以正常工作。我正在编写第二个加载项,它可能需要在其下方添加信息(无论是否存在可选签名),并再次从Word编辑器中引用_MailAutoSig书签。我遇到的问题是这个书签似乎不再出现,我的其他加载项中的书签也没有出现。下面两段代码的一个区别是,第一段代码的MailItem是从ItemSend传递的对象转换而来的,而第二段代码是在ItemSend事件之前处理的。这是我目前正在编写的代码:Word.DocumenttoMsg=msg.GetInspector.WordEditorasW

c# - 如何从 C# 可移植类库 (PCL) 添加对 F# 可移植库的引用

我有一个项目,其中包含两个F#项目和一个C#项目,我想在其中编写一些XUnit测试:FS_PL:F#3.1(3.3.1.0)可移植库FS_PL_Legacy:F#31。(2.3.5.1)可移植库(旧版)测试:C#.NET4.5/Win8C#可移植类库(PCL)我无法从测试添加对任一F#库的引用。当我尝试添加对FS_PL的引用时,我看到一个对话框,指出“无法添加对项目‘FS_PL’的引用。可移植库项目‘FS_PL’的目标与当前可移植图书馆项目的目标”:这很奇怪,因为我的测试和FS_PL库都配置为面向.NET4.5和Windows8。所以我创建了FS_PL_Legacy并尝试添加对它的引用

c# - 在 C# 中跟踪所有对象引用

是否可以在VisualStudio中调试时列出对象的所有引用。我正在使用C#。我正在寻找类似于GC在垃圾收集期间所做的事情。 最佳答案 SOS可以为您做到这一点。它没有集成到调试器中,但您可以将它附加到正在运行的进程中。您可能会发现使用SOSAssist比学习控制台语法更有帮助。IIRC:!dumpheap–type{type} 关于c#-在C#中跟踪所有对象引用,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

c# - 在 C# 或 OOP 中,两个相关的类是否应该相互引用?

我正在使用C#开发类库。我设计了3个主要类来帮助建模我们的数据。它们的设计使得A类包含B类实例的列表,B类包含对C类实例的引用,即:publicclassPolicy{publicListmyTerms;personCustomer;stringPolicyNumber;}publicclassPolicyTerm{publicBillingmyBill;Datetimeeffectivedate;ListtermActivities;publicdoAction(){usevaluefromPolicy,likePolicyNumber;}}publicclassBilling{fl