T方法语法

时间:2018-01-28 10:12:10

标签: c# nopcommerce

我正在探索nopCommerce 4.0源代码,并且难以理解其流行的本地化方法的语法" @T()"。

调用方法的方法类似于@T(" Products.FreeShipping"),它将返回本地化字符串。

T()是遵循C#语法的方法吗?如果它是一个C#方法,为什么它没有方法签名,如" public Lozalizer T(string parameter1)"图案?

它正在使用" get {...}"在T()方法下的语句,在我看来这更像是在C#中获取访问器模式,它怎么可能?

我在" NopRazorPage"下找到了它的实现。课程如下:

cell.contentView.layer.masksToBounds = false
cell.contentView.layer.shadowColor = UIColor.black.cgColor
cell.contentView.layer.shadowOpacity = 0.5
cell.contentView.layer.shadowOffset = CGSize(width: -1, height: 1)
cell.contentView.layer.shadowRadius = 1

cell.contentView.layer.shadowPath = UIBezierPath(rect: self.bounds).cgPath
cell.contentView.layer.shouldRasterize = true

cell.contentView.layer.rasterizationScale = UIScreen.main.scale

1 个答案:

答案 0 :(得分:1)

setObject类型不是Localizer类型,而是class类型。委托是对函数的引用,它们可以被赋予函数引用,并且可以作为函数调用。在您发布的代码中,分配给delegate的值为_localizer,这是匿名函数的语法。这就是为什么你可以像函数一样调用它,但它看起来像一个属性。

有关代表的详细信息,请参阅here,有关匿名方法,请参阅here