在 CodeProvider 中使用 "culture"?
Using "culture" in CodeProvider?
我正在使用 VBCodeProvider,但我的问题也适用于 CSharpCodeProvider。
取此代码:
Dim d As Decimal = 1.23
在丹麦,我们切换 .并且,- 所以这将是:
Dim d As Decimal = 1,23
是否可以告诉 VBCodeProvider 或 CSharpCodeProvider 在 运行 编码时使用文化(丹麦语)?
谢谢
更新:
好像我能做到...
.ToString("C2", System.Globalization.CultureInfo.CreateSpecificCulture("da-DK"))
我想做这样的事情...
Dim code = "Return 1,23 * 1,23"
Dim cp As VBCodeProvider = New VBCodeProvider
Dim params As CompilerParameters = New CompilerParameters
Dim results As CompilerResults
params.ReferencedAssemblies.Add("system.dll")
params.ReferencedAssemblies.Add("system.xml.dll")
params.ReferencedAssemblies.Add("system.data.dll")
params.ReferencedAssemblies.Add("System.Windows.Forms.dll")
params.CompilerOptions = "/t:library"
results = cp.CompileAssemblyFromSource(params, code, System.Globalization.CultureInfo.CreateSpecificCulture("da-DK"))
...所以我可以 运行 丹麦语格式的代码。
你不能为所欲为。
无论您的机器是什么文化 运行、
Dim d As Decimal = 1,23
无效 VB.Net。 Language Specification 对此很清楚(我的重点):
2.4.3 Floating-Point Literals
A floating-point literal is an integer literal followed by an optional
decimal point (the ASCII period character) and mantissa, and an
optional base 10 exponent.
您必须使用.
作为浮点文字中的小数点。你不能再使用丹麦小数点了,就像法国程序员说的那样
Dimensionné d Comme Nombre Décimal = 1,23
或者中国程序员会说
尺寸 d 十進制數 壹點貳參
(向会看普通话的人道歉,我为此使用了维基词典...)
我注意到我确实有一个模糊的记忆,曾经存在 Excel VBA 的各种特定语言版本!但那些日子早已一去不复返了。
我正在使用 VBCodeProvider,但我的问题也适用于 CSharpCodeProvider。
取此代码:
Dim d As Decimal = 1.23
在丹麦,我们切换 .并且,- 所以这将是:
Dim d As Decimal = 1,23
是否可以告诉 VBCodeProvider 或 CSharpCodeProvider 在 运行 编码时使用文化(丹麦语)?
谢谢
更新:
好像我能做到...
.ToString("C2", System.Globalization.CultureInfo.CreateSpecificCulture("da-DK"))
我想做这样的事情...
Dim code = "Return 1,23 * 1,23"
Dim cp As VBCodeProvider = New VBCodeProvider
Dim params As CompilerParameters = New CompilerParameters
Dim results As CompilerResults
params.ReferencedAssemblies.Add("system.dll")
params.ReferencedAssemblies.Add("system.xml.dll")
params.ReferencedAssemblies.Add("system.data.dll")
params.ReferencedAssemblies.Add("System.Windows.Forms.dll")
params.CompilerOptions = "/t:library"
results = cp.CompileAssemblyFromSource(params, code, System.Globalization.CultureInfo.CreateSpecificCulture("da-DK"))
...所以我可以 运行 丹麦语格式的代码。
你不能为所欲为。
无论您的机器是什么文化 运行、
Dim d As Decimal = 1,23
无效 VB.Net。 Language Specification 对此很清楚(我的重点):
2.4.3 Floating-Point Literals
A floating-point literal is an integer literal followed by an optional decimal point (the ASCII period character) and mantissa, and an optional base 10 exponent.
您必须使用.
作为浮点文字中的小数点。你不能再使用丹麦小数点了,就像法国程序员说的那样
Dimensionné d Comme Nombre Décimal = 1,23
或者中国程序员会说
尺寸 d 十進制數 壹點貳參
(向会看普通话的人道歉,我为此使用了维基词典...)
我注意到我确实有一个模糊的记忆,曾经存在 Excel VBA 的各种特定语言版本!但那些日子早已一去不复返了。