Có thể có một loại ẩn danh thực hiện một giao diện?
Tôi đã có một đoạn mã mà tôi muốn làm việc, nhưng không biết làm thế nào để làm điều này.
Tôi đã có một vài câu trả lời là không hoặc tạo một lớp thực hiện giao diện xây dựng các thể hiện mới của điều đó. Điều này không thực sự lý tưởng, nhưng tôi tự hỏi liệu có một cơ chế để tạo ra một lớp động mỏng trên đầu một giao diện sẽ làm cho điều này trở nên đơn giản.
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 void DoSomethingWithDummyInterface(IEnumerable<DummyInterface> values)
{
foreach (var value in values)
{
Console.WriteLine("A = '{0}', B = '{1}'", value.A, value.B);
}
}
}
Tôi đã tìm thấy một bài viết Gói giao diện động mô tả một cách tiếp cận. Đây có phải là cách tốt nhất để làm điều này?