使用asp.net MVC我想在视图中执行此操作:
<%= Html.TextBox("textbox1", null, new { class="class1" }) %>
Run Code Online (Sandbox Code Playgroud)
此语句无法编译,因为class是C#中的关键字.我想知道如何逃避属性名称,以便编译.
如果我将"class"属性更改为"Class"(大写C),则可以编译它.但这不合适,因为严格的xhtml说所有属性(和元素)名称必须是小写的.
在其中一个Delphi演示应用程序中,我偶然发现了一些我不知道Delphi编译器接受的语法:
// ......\Demos\DelphiWin32\VCLWin32\ActiveX\OleAuto\SrvComp\Word\
// Main.pas, line 109
Docs.Add(NewTemplate := True); // note the assignment
Run Code Online (Sandbox Code Playgroud)
我似乎无法重现这种类型的参数传递我自己的代码,我从来没有看到任何人使用它.所以这些是我的问题:
我可以在"普通"方法中使用它,它是"Delphi语言"的一部分,还是一些编译器破解自动化对象?
为了能够使用它需要什么?
这有点像C#4的命名和可选参数吗?
附加信息:当方法有许多可选参数时,我通常会传递记录或简单类,但看起来我不需要使用这种语法.我知道默认参数值,但它们的用处是有限的,因为你不能在省略的参数值的右边提供任何参数.在JavaScript中,我一直在使用这个命名参数样式(使用不同的语法),并且功能强大.
我写
public class Vehicle {
public enum condition {new, used, wrecked, rebuilt, restored};
}
Run Code Online (Sandbox Code Playgroud)
而且它没有建立,因为new是关键字。我可以将其更改为
public enum condition {newVehicle, used, wrecked, rebuilt, restored};
Run Code Online (Sandbox Code Playgroud)
但这很笨重。有没有办法使用关键字作为枚举常量?
我想创建一个POJO,稍后我想用GSON将它转换为JSON.我的JSON看起来像这样
{
"static":"value",
"otherkey": "value"
}
Run Code Online (Sandbox Code Playgroud)
所以我的POJO看起来很喜欢这个
public class MyPOJO {
public String static;
public String otherkey;
}
Run Code Online (Sandbox Code Playgroud)
但是这位编纂者抱怨我public String static;.我知道static是一个关键字,但有可能吗?