我来自vb/c#背景,我很难理解下面部分代码的含义,特别是位“self.fColConsignments.Add”。
TConsignment = class(TCollectionItem)
constructor Create(Collection : TCollection); override;
...
function TIFCSUMMsg.AddConsignment: TConsignment;
begin
result := TConsignment(self.fColConsignments.Add);
end;发布于 2011-05-05 02:22:41
如果你的背景是C#,不要误解这一行:
result := TConsignment(self.fColConsignments.Add);它只是一个类型转换,而不是构造函数调用。在C#中,它看起来如下所示:
result = (TConsignment)self.fColConsignments.Add;发布于 2011-05-05 00:29:41
假设fcolConsignments是由TIFCSUMMsg实例(Self)拥有的集合。Add向集合中添加一个新项,并将引用作为结果返回。然后将结果转换为TConsignment,以适合AddConsignment方法的结果类型。
发布于 2011-05-05 00:58:02
self.fColConsignments.Add可能会向fColConsignments中添加一个新项,该项必须是一个集合或类似的项,然后返回它。但声明的返回类型可能比实际返回的对象更通用,然后使用TConsignment(object)应用类型转换。
https://stackoverflow.com/questions/5886645
复制相似问题