首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C#匿名类可以实现一个接口吗?

C#匿名类可以实现一个接口吗?

提问于 2017-12-20 14:46:49
回答 2关注 0查看 2.3K

有可能有一个匿名类型实现一个接口。我有一段代码,我想工作,但不知道如何做到这一点。

我有几个答案,要么不说,要么创建一个实现接口的类构造新的实例。这并不是很理想,但是我想知道是否有一种机制可以在界面之上创建一个简单的动态类。

代码语言:txt
复制
public interface DummyInterface
代码语言:txt
复制
{
代码语言:txt
复制
    string A { get; }
代码语言:txt
复制
    string B { get; }
代码语言:txt
复制
}
代码语言:txt
复制
代码语言:txt
复制
public class DummySource
代码语言:txt
复制
{
代码语言:txt
复制
    public string A { get; set; }
代码语言:txt
复制
    public string C { get; set; }
代码语言:txt
复制
    public string D { get; set; }
代码语言:txt
复制
}
代码语言:txt
复制
代码语言:txt
复制
public class Test
代码语言:txt
复制
{
代码语言:txt
复制
    public void WillThisWork()
代码语言:txt
复制
    {
代码语言:txt
复制
        var source = new DummySource[0];
代码语言:txt
复制
        var values = from value in source
代码语言:txt
复制
                     select new
代码语言:txt
复制
                     {
代码语言:txt
复制
                         A = value.A,
代码语言:txt
复制
                         B = value.C + "_" + value.D
代码语言:txt
复制
                     };
代码语言:txt
复制
代码语言:txt
复制
        DoSomethingWithDummyInterface(values);
代码语言:txt
复制
代码语言:txt
复制
    }
代码语言:txt
复制
代码语言:txt
复制
    public void DoSomethingWithDummyInterface(IEnumerable<DummyInterface> values)
代码语言:txt
复制
    {
代码语言:txt
复制
        foreach (var value in values)
代码语言:txt
复制
        {
代码语言:txt
复制
            Console.WriteLine("A = '{0}', B = '{1}'", value.A, value.B);
代码语言:txt
复制
        }
代码语言:txt
复制
    }
代码语言:txt
复制
}

我发现了一篇介绍一种方法的动态接口封装。这是做这个最好的方法吗?

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档