我正在传递一个 lambda 表达式作为参数。
在这种情况下, someObject
有一个名为 property
的属性,可通过 someObject.property
访问。
当我通过时: o => o.childListOfObjects[0].property
,
其中 childListOfObjects
是一个 List<someObejct>
并且,expression.Body
返回 o => o.childListOfObjects.get_Item(0).property
。
跳到最后:list[i]
是 C# 中 list.get_item(i)
的别名吗?
最佳答案
是的,属性通常只是围绕 get_PropertyName
和 set_PropertyName
方法的语法糖。
Indexers——例如,list[i]
——只是一种特殊类型的属性,基本上是围绕 get_Item(i)
和 set_Item(i)
方法的语法糖。
(请注意,索引器属性不一定必须称为 Item
、 but that's what it's called on List<T>
,并且这也是自定义类型索引器的默认名称,除非您使用 IndexerNameAttribute
覆盖它。)
关于c# - list[i] 是 C# 中 list.get_item(i) 的别名吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6202523/