所以我们写:
Customer c = new Customer();
为什么设计不像我们写的那样:
c = new Customer();
c.CreditLimit = 1000;
编译器可以计算出客户的c点,并允许在c上调用客户的成员?
我知道我们可能想写:
IPerson c = new Customer();
IPerson e = new Employee();
以便能够写:
public string GetName(IPerson object)
{
return object.Name
}
string name = GetName(c); // or GetNam
C#10扩展了属性模式能力,我想它是从7号开始的
例:
{ Car: { Interior: pattern } }
这意味着,即使在if语句中,也可以进行一些很好的模式匹配。
if (car_var is Interior leather) { .. }
它已经扩展到管理交换机等。
在TS:使用过滤器(可能不使用)中,我想编写一个可以执行此操作的助手方法。
if(car is Leather { size: large, colour: black}) {
// do specific work for this model definition
}
我可以定义一个模型库,它可以像TS中