ci sono due cose la classe ha bisogno al fine di poter beneficiare di che sintassi:
- Si deve attuare
IEnumerable
(o qualche altra interfaccia che implica IEnumerable
- potrebbe anche ereditare da una base classe che implementa IEnumerable
)
- Si deve attuare un metodo
Add(...)
grado di ricevere un valore int
Una qualsiasi delle seguenti dichiarazioni di classe avrebbe fatto:
public class MyClass1 : IEnumerable
{
public void Add(int i) { }
public IEnumerator GetEnumerator() => null;
}
public class MyClass2 : IEnumerable
{
public void Add(double i) { }
public IEnumerator GetEnumerator() => null;
}
public class MyClass3 : IEnumerable
{
public void Add(object i) { }
public IEnumerator GetEnumerator() => null;
}
Non ci sono più tipi così che il compilatore può lanciare automaticamente il valore int
per, quanto sopra sono solo 3 esempi diversi.
fonte
2016-04-10 16:59:26