我正在使用 Jasmine 3.6.0 和 typescript 4.1.5 在 tsconfig.json 文件中使用 "strict": false 编写 Angular 测试用例
我想监视名为“close”的组件方法,并根据我在下面编写的代码的语法
let spy = spyOn<MyComponent>(component,'close');
Run Code Online (Sandbox Code Playgroud)
它工作正常,但将源代码复制到不同的文件夹后,我安装了节点模块,并开始出现以下错误
“‘字符串’类型的参数不可分配给‘从不’类型的参数”
我知道这个问题被问了很多次,我尝试了这些解决方案,但我面临着同样的错误。我不明白实际的问题是什么,因为我的严格模式也关闭了。
我在托管使用C#.net MVC开发的网站时遇到日期格式问题.
在我的开发机器(OS:Windows 7,.net Framework 4.5)中,西班牙语 - 巴拿马(es-PA)的日期格式为mm/dd/yy,而在服务器机器(OS:Windows 8,.net Framework 4.5)中,它给出了相同文化的d/m/yy格式.
我使用简单的控制台应用程序检查了它.
public static void Main()
{
DateTime dt = DateTime.Now;
Thread.CurrentThread.CurrentCulture = new CultureInfo("es-PA");
Console.WriteLine(dt.ToString("d"));
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
开发机器的输出是:10/08/2015
服务器机器上的输出是:8/10/15
我还通过更改语言和区域进行检查,但两种机器的默认格式都不同.
为什么不同机器的格式在同一文化中有所不同?这有什么解决方案吗?
以下是我将枚举值转换为Dictionary的代码.
public static Dictionary<string, string> EnumToDictionary<T>() where T : struct, IConvertible
{
var oResult = new Dictionary<string, string>();
if (typeof(T).IsEnum)
foreach (T oItem in Enum.GetValues(typeof(T)))
oResult.Add(oItem.ToString(), oItem.ToString());
return oResult;
}
Run Code Online (Sandbox Code Playgroud)
这是我的枚举
public enum MyEnum
{
Value1,
Value2,
value3
}
Run Code Online (Sandbox Code Playgroud)
目前我正在调用这种方法
var result=EnumToDictionary<MyEnum>();
Run Code Online (Sandbox Code Playgroud)
但我需要使用那种方法
var result=MyEnum.EnumToDictionary();
Run Code Online (Sandbox Code Playgroud)
或任何其他方式,如字符串扩展方法.
以下是我的代码,用于处理表单中可用的所有文本框的gotfocus和lostfocus事件.
private void Form1_Load(object sender, EventArgs e)
{
foreach (Control c in this.Controls)
{
if (c is TextBox)
{
c.GotFocus += new System.EventHandler(this.txtGotFocus);
c.LostFocus += new System.EventHandler(this.txtLostfocus);
}
}
}
private void txtGotFocus(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
if (tb != null)
{
tb.BackColor = Color.Silver;
tb.BorderStyle = BorderStyle.FixedSingle;
}
}
private void txtLostFocus(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
if (tb != null)
{
tb.BackColor = Color.White;
tb.BorderStyle = BorderStyle.Fixed3D;
}
}
Run Code Online (Sandbox Code Playgroud)
它可以在第一个文本框中正常工作,但是当我按Tab键转到下一个文本框时,它将重复调用这两个事件,文本框的行为就像闪烁一样.一段时间后错误信息显示在代码中:
在类型为"System.Windows.Forms!System.Windows.Forms.NativeMethods …
c# ×3
.net ×2
angular ×1
cultureinfo ×1
date-format ×1
enums ×1
events ×1
jasmine ×1
typescript ×1
windows ×1
winforms ×1