是否可以使用匿名类型实现接口.我有一段我想要工作的代码,但不知道该怎么做.
我有几个答案要么说不,要么创建一个实现接口的类构造新的实例.这不是很理想,但我想知道是否有一种机制可以在界面上创建一个瘦动态类,这将使这个变得简单.
public interface DummyInterface
{
string A { get; }
string B { get; }
}
public class DummySource
{
public string A { get; set; }
public string C { get; set; }
public string D { get; set; }
}
public class Test
{
public void WillThisWork()
{
var source = new DummySource[0];
var values = from value in source
select new
{
A = value.A,
B = value.C + "_" + value.D
};
DoSomethingWithDummyInterface(values);
}
public …Run Code Online (Sandbox Code Playgroud) 根据StringComparer.OrdinalIgnoreCase属性的MSDN文档:
OrdinalIgnoreCase属性实际上返回从StringComparer类派生的匿名类的实例.
这是一个我不熟悉的功能 - 带继承的匿名类型吗?或者通过"匿名类",作者只是意味着"内部类派生自StringComparer客户端代码不可见"?