请考虑以下代码:
$scope.cases.push({key: dataSnapshot.key,
volunteer_name: dataSnapshot.val().volunteer_name,
volunteer_email: dataSnapshot.val().volunteer_email,
title: dataSnapshot.val().title,
creationdate: '',//(new Date(dataSnapshot.val().creationdate)).toString(),
snapshot: dataSnapshot.val().snapshot,
message: dataSnapshot.val().message});
$scope.digest();
输出结果为:
static void foo(object v)
{
System.Console.WriteLine(v.GetType());
}
static void foo(OleDbType v)
{
System.Console.WriteLine(v.GetType());
}
static void Main(string[] args)
{
foo(1);
foo(0);
foo(2);
}
因此System.Int32
System.Data.OleDb.OleDbType
System.Int32
已解析为foo(0)
,而其他来电则已解析为static void foo(OleDbType)
我希望所有的调用都能解析为同一个方法,为什么会这样?
答案 0 :(得分:0)
存在从常量0到任何枚举类型的隐式转换,因此foo(0)
将重载与OleDbType
枚举参数匹配。