- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
当我在训练期间编写的类上实现 IEnumerable 和 IEnumerator 时,我注意到我需要为属性“Current”指定两个实现。
public class PeopleEnumerator : IEnumerator
{
People people; // my collection I'm enumerating (just a wrapped array).
int index; // my index to keep track of where in the collection I am.
...
//implementation for Person
public Person Current { get { return people[index]; } }
//implementation for object
object Enumerator.Current { get { return people[index]; } }
}
我大致了解我正在实现一些非通用版本的 IEnumerator 和它的“当前”属性,但是我不明白以下内容:
Cảm ơn trước!
câu trả lời hay nhất
您必须实现两个不同接口(interface)的原因只有一个:向后兼容性。 C# 1.0 没有泛型。
在 C# 2.0 中,我们得到了 IEnumerator
它扩展了 1.0 IEnumerator
.
- Why am I allowed to overload by return type here? Presumably it has something to do with the explicit IEnumerator.Current; however the reasons are opaque to me.
Bạnkhông thể仅按返回类型重载方法或属性;这就是为什么其中之一必须是显式实现的原因。
- Why can "object IEnumerator.Current" not be specified as "public"?
同理。它必须是一个明确的实现。显式实现通常不能具有可见性修饰符。它不可能有任何其他可见性。 IEnumerator.Current
只能通过 IEnumerator
的实例调用界面。
关于c# - 为什么我必须定义 IEnumerator
Hôm nay, một người bạn đã nhắn tin cho tôi và hỏi, try{...}catch(){...} nghĩa là gì? Nó được sử dụng để làm gì? Nói một cách đơn giản, chúng được sử dụng để bắt các ngoại lệ. Hãy giải thích chi tiết thông qua một ví dụ.
Tôi đang cố gắng cải thiện khả năng truy cập trang web của mình nhưng tôi không biết cách đánh dấu danh sách các liên kết mạng xã hội ở chân trang. Các liên kết này dẫn đến tài khoản của tôi trên facecook, twitter, v.v. Tôi không muốn đánh dấu những liên kết này bằng role="navigation" vì
Giả sử lúc đó là 6 giờ, tôi có Bộ hẹn giờ và lên lịch cho Bộ hẹn giờ vào lúc 10 giờ. Sau đó, DateTime hệ thống được điều chỉnh thành 9 giờ bởi các dịch vụ khác (chẳng hạn như ntp). Tôi vẫn muốn có TimeTas của mình
Như hiện tại, câu hỏi này không phù hợp với định dạng Hỏi & Đáp của chúng tôi. Chúng tôi hy vọng câu trả lời sẽ được hỗ trợ bởi các sự kiện, trích dẫn hoặc chuyên môn, nhưng câu hỏi có thể gây ra tranh luận, tranh luận, bỏ phiếu hoặc thảo luận mở rộng. Nếu bạn cảm thấy vấn đề này có thể được cải thiện và có thể mở lại, hãy truy cập
Tôi sẽ không nói những điều vô nghĩa nữa. Chúng ta hãy nhìn vào mã ~ 1
Maven Series 1 1. Maven là gì? Maven là một công cụ quản lý dự án có chứa mô hình đối tượng. Một bộ tiêu chuẩn, một hệ thống quản lý phụ thuộc. và được sử dụng để chạy các mục tiêu và logic của plugin được xác định trong các giai đoạn của vòng đời. Chức năng cốt lõiMav
Tôi là một lập trình viên xuất sắc, rất giỏi!