草庐IT

THIS_MODULE

全部标签

c# - "this"可以在 C# 虚拟方法中为 null 吗?其余的实例方法会发生什么?

我很好奇是否有办法让C#中的虚方法中的this为null。我认为这是不可能的。我在现有代码中看到了这一点,在代码审查期间,我想100%肯定会对其删除发表评论,但我希望得到社区的一些确认和更多背景信息。this!=null在任何非静态/实例方法中都是这样吗?否则它会是一个空指针异常吗?我在考虑扩展方法以及我可能不熟悉的来自多年Java的任何C#功能。 最佳答案 这不是标准的C#,而是来自Lasse的答案和Jon,通过一些IL-fiddling,您可以进行非虚拟调用(对虚拟或非虚拟方法)传递空this:usingSystem;using

c# - 重定向 'Response is not available in this context' 时出错

我正在使用以下代码将用户重定向到一个页面。Session["USERDATA"]=user;if(roleName.Equals("Zerker",StringComparison.CurrentCulture))Response.Redirect("~/Account/Dashboard.aspx");但这导致了错误。Responseisnotavailableinthiscontext.我该怎么办? 最佳答案 我认为您正在自己的类(class)中使用响应对象。该对象在那里不可用。尝试使用HttpContext.Current.R

c# - C# 中 "this"赋值的示例是什么?

有人在C#方法中有有用的this赋值示例吗?我在求职面试中被问过一次,我仍然有兴趣自己回答。 最佳答案 当他们说您不能分配给“this”时,其他答案是不正确的。的确,您不能用于类类型,但您可以用于结构类型:publicstructMyValueType{publicintId;publicvoidSwap(refMyValueTypeother){MyValueTypetemp=this;this=other;other=temp;}}在任何时候,结构都可以像这样通过分配给“this”来改变自己。

c# - 使用 al.exe 对具有强名称的程序集进行签名时, 'module name' 是什么?

我正在尝试按照此处的指南使用强名称对程序集进行签名:http://msdn.microsoft.com/en-us/library/xc31ft41.aspx关键指令是:al/out:/keyfile:它说modulenameisthenameofthecodemoduleusedtocreatetheassembly我不明白这是什么意思。从字面上看,我会将上面的内容解释为csc.exe的某个组件(即,它创建了程序集),但显然在这种情况下这是荒谬的。那么首先这是指什么,其次(为了帮助我的元学习)人们将如何推理它是什么?鉴于文档的简洁性,我的印象是它对我来说应该是显而易见的或直观的,但目

c# - 解决 Module 类中的 AutoFac 依赖关系

我是AutoFac的新手,目前正在我的应用程序配置中使用自定义模块来启动一些核心F#系统。我使用的代码是varbuilder=newContainerBuilder();builder.RegisterType().As();builder.RegisterModule(newConfigurationSettingsReader("autofac"));builder.Build();在我的应用程序配置中,我有适当的逻辑来启动相关系统。我想访问我的模块中的DefaultLogger。Module基类的元数据有以下可用选项:protectedvirtualvoidAttachToCom

c# - 从 C#(使用 SciPy)调用 IronPython 失败,出现 ImportException : "No module named mtrand"

我有一个python库,我正尝试通过IronPython(v2.7RC1[2.7.0.30])从C#应用程序调用来使用。该库相当广泛地使用NumPy和SciPy,它们确实可以使用SciPyandNumPyfor.NET当像这样从命令行使用ipy运行时:ipy.exe-X:Framesfile_from_lib_importing_numpy.py但是,当我使用下面的代码从C#调用IronPython时,会抛出一个异常:ImportException"Nomodulenamedmtrand"atMicrosoft.Scripting.Runtime.LightExceptions.Che

c# - 有人知道输出 "Module is optimized and the debugger option ' Just My Code' is Enabled”吗?

正如我在previous问题中所说,我正在将我的应用程序迁移到WindowsMetro应用程序。我得到这样的输出我不明白这个输出,如果有人知道请告诉我! 最佳答案 通常,您不需要模块加载消息,但默认情况下它们是打开的。工具->选项->调试->输出窗口->模块加载消息->关闭 关于c#-有人知道输出"Moduleisoptimizedandthedebuggeroption'JustMyCode'isEnabled”吗?,我们在StackOverflow上找到一个类似的问题:

c# - 为什么我们在扩展方法中使用 "this"?

我想问一下为什么我们在扩展方法的参数前使用“this”关键字(C#语言)......................喜欢这个功能:publicstaticintToInt(thisstringnumber){returnInt32.Parse(number);}我知道我们必须使用它,但我不知道为什么。 最佳答案 因为这是您首先告诉编译器它是一个扩展方法的方式。否则它只是一个普通的静态方法。我猜他们选择了this,这样他们就不必想出一个新的关键字并可能破坏旧代码。 关于c#-为什么我们在扩

C# : How does this work : Unit myUnit = 5;

我刚刚注意到您可以在C#中执行此操作:UnitmyUnit=5;不必这样做:UnitmyUnit=newUnit(5);有谁知道我如何使用自己的结构实现这一目标?我查看了带有反射器的Unit结构并注意到正在使用TypeConverter属性,但是在我为我的结构创建自定义TypeConverter之后我仍然无法让编译器允许这种方便的语法。 最佳答案 您需要提供一个从int到Unit的隐式转换运算符,如下所示:publicstructUnit{//theconversionoperator...publicstaticimplicito

c# - 无法加载文件或程序集 ':This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded

我在我的解决方案中有3个项目:BL、DL和UI。这三个项目的目标框架都是>NET4;我通过查看每个项目的属性页仔细检查了这一点。当我尝试在托管环境中运行网站时收到以下错误消息,但在本地运行时却没有。Couldnotloadfileorassembly'BL'oroneofitsdependencies.Thisassemblyisbuiltbyaruntimenewerthanthecurrentlyloadedruntimeandcannotbeloaded.提前致谢! 最佳答案 -转到IIS。-DefaultWebSite->Y