C# 匿名类型(类和功能)

C# 匿名类型(类和功能),c#,.net,variables,var,C#,.net,Variables,Var,我有一个很大的困难。我有一个问题要回答:MyClass应该具备哪些特性才能正确 var myVariable = new MyClass { 25 }; 从周五开始,我就一直试图找到答案,但至今没有结果。你有什么想法吗?它应该有一个Add(int)方法。这是一个集合初始值设定项列表是这样的 var myVariable = new List<int> { 25 }; var myVariable=新列表{25}; 类需要两件事才能符合该语法: 它需要实现IEnumerable(

我有一个很大的困难。我有一个问题要回答:MyClass应该具备哪些特性才能正确

var myVariable = new MyClass { 25 };

从周五开始,我就一直试图找到答案,但至今没有结果。你有什么想法吗?

它应该有一个
Add(int)
方法。这是一个集合初始值设定项<代码>列表是这样的

var myVariable = new List<int> { 25 };
var myVariable=新列表{25};

类需要两件事才能符合该语法:

  • 它需要实现
    IEnumerable
    (或者暗示
    IEnumerable
    的其他接口-它也可以从实现
    IEnumerable
    的基类继承)
  • 它需要实现一个能够接收
    int
    值的
    Add(…)
    方法
以下任何一个类声明都可以:

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;
}
编译器还可以自动将
int
值转换为更多类型,以上只是3个不同的示例