草庐IT

declaration

全部标签

c# - 使用 Roslyn 向 C# 类添加自定义属性

考虑文件“MyClass.cs”中的以下类usingSystem;publicclassMyClass:Entity{publiclongId{get;set;}[Required]publicstringName{get;set;}publicstringSlug{get;set;}publicDateTimeCreatedOn{get;privateset;}publicDateTimeUpdatedOn{get;privateset;}/*...*/}目前我手动创建如下所示的数据协定类:[DataContract(Namespace="http://example.com/",N

c# - "The ' http ://www. w3.org/XML/1998/namespace:lang ' attribute is not declared."

有时,在使用XmlValidatingReader验证某些XML文档时,我收到以下错误:System.Xml.Schema.XmlSchemaValidationException:"The'http://www.w3.org/XML/1998/namespace:lang'attributeisnotdeclared."同一个文档有时会成功。我不明白为什么。我的XSD像这样导入架构:...在XML文档中我有以下属性:最后,XmlReaderSettings:constXmlSchemaValidationFlagsvalidationFlags=XmlSchemaValidation

c# - .NET 属性生成 "must declare a body because it is not marked abstract or extern"编译错误

我有一个.NET3.5(目标框架)网络应用程序。我有一些看起来像这样的代码:publicstringLogPath{get;privateset;}publicstringErrorMsg{get;privateset;}它给我这些行的编译错误:"mustdeclareabodybecauseitisnotmarkedabstractorextern."有什么想法吗?我的理解是这种风格的属性在.NET3.0中是有效的。谢谢!原来问题出在我的.sln文件本身。尽管我在构建选项中更改了目标版本,但在.sln文件中,我发现了这一点:TargetFramework="3.0"将其更改为“3.5

c# - 在 Razor 中声明变量

这个问题在这里已经有了答案:HowtodeclarealocalvariableinRazor?(7个答案)关闭5年前。我想在foreach外添加一个变量,然后在foreach循环内使用它DateLocation@inti;@foreach(variteminModel){i=0;@Html.DisplayFor(modelItem=>item.DueDate)@Html.DisplayFor(modelItem=>item.location)}上面的例子我加了@inti;在foreach之外,我试图在foreach内部访问它,比如i=0;但它显示“名称'i'在当前上下文中不存在”如何

c# - Resharper 中令人困惑的代码突出显示

在某些R#推荐的编辑之后,R#将代码块的背景着色为浅宝蓝色,并在滚动条旁边放置一个相同颜色的标记。这不是错误,甚至不是建议。它似乎是一个临时标志,如果您关闭并重新打开文件,它会清除。重新创建的步骤:写一行代码,如:stringstr=string.Format("{0}",1);请注意,R#会将str变量标记为浅灰色,因为它从未被使用过。在变量上按Alt+Enter并从R#上下文菜单中选择RemoveDeclaration看到这行代码转灯宝蓝色...将光标悬停在滚动条标记上,您看到的只是代码...有谁知道这种“标记”的含义/用处吗?编辑:我的Resharper版本是4.5,在VS200

c# - 声明中缺少部分修饰符..存在这种类型的另一个部分声明。我是初学者,只是在看书

我是初学者,我正在看书做练习。下面是我的代码,我得到了这个“'Windowsform.Form1'类型声明缺少部分修饰符;存在此类型的另一个部分声明”。我该怎么办?我的代码如下:usingSystem;usingSystem.Windows.Forms;namespaceWindowsform{publicclassForm1:Form{privateTextBoxtxtEnter;privateLabellblDisplay;privateButtonbtnOk;publicForm1(){this.txtEnter=newTextBox();this.lblDisplay=newL

c# - 为什么需要声明

我目前正在教一位同事.Net,他问了我一个让我很困惑的问题。为什么要申报?如果var是隐式类型,为什么我们还要声明?Animalanimal=newAnimal();成为varanimal=newAnimal();可以变成animal=newAnimal();隐式类型仍然意味着这是一个静态类型变量。如果将两种不同的类型分配给变量,如果它们不共享基类(对象除外),则可能是编译器错误。是否存在无法完成的技术原因,或者我们喜欢的风格 最佳答案 当然,是可能的。我能想到您不想要这个的几个原因:变量的范围是什么?如果您不告诉编译器,则不清楚。

c# - 为什么我不能在 C# 中使用 var 声明常量?

这个问题在这里已经有了答案:Type-inferringaconstantinC#(11个答案)关闭9年前。这个:constinta=5;编译得很好,而constvara=5;不会...而:vara=5;编译和这个一样好:inta=5;为什么?

c# - "Possible multiple enumeration of IEnumerable"与 "Parameter can be declared with base type"

在Resharper5中,以下代码导致list出现警告“Parametercanbedeclaredwithbasetype”:publicvoidDoSomething(Listlist){if(list.Any()){//...}foreach(variteminlist){//...}}在Resharper6中,情况并非如此。但是,如果我将方法更改为以下内容,我仍然会收到该警告:publicvoidDoSomething(Listlist){foreach(variteminlist){//...}}原因是,在这个版本中,list只枚举一次,所以改成IEnumerable不会自动

c# - 声明变量并使用 TryParse 在同一行对其进行初始化有任何问题吗?

这个示例是用C#编写的,但我希望可以同样轻松地应用于其他示例。我最近发现以下似乎工作得很好:inti=Int32.TryParse(SomeString,outi)?i:-1;不知何故,似乎变量i在它出现在TryParse中时在技术上不应该是可访问的。或者我假设inti有效地声明了变量是否正确,即使还没有语句结束? 最佳答案 inti声明变量,并在out参数中使用它来初始化它。由于必须在结果之前评估谓词,因此i在使用之前既已声明又已初始化。(out参数必须在返回前赋值,所以无论如何肯定是初始化了。)也就是说,我的一些同事会因为风格原