Можно ли в .Net использовать позднее связывание к generic-классам - C#
Формулировка задачи:
Всем привет.
Подскажите плиз, можно ли в .Net использовать позднее связывание к generic-классам?
Собственно проблема такая:
Имеется некий класс DataAccess.cs в сборке DAC, он Вопрос в том, можно ли сделать позднее связывание для такого generic-типа, т.е. чтобы как-то свзять данную сборку и выполнить Invoke для Save() ???
явно
реализует интерфейс IRepository<T> из той же сборки, напр.:namespace DAC { public class DataAccess<T>: IRepository<T> { public Guid IRepository<T>.Save() { ... } } // пример использования public void Test() { Entity e = new Entity("asd"); DataAccess<Entity> dac = new DataAccess<Entity>(); ((IRepository<Entity>)dac).Entity = e; ((IRepository<Entity>)dac).Save(); } }
Решение задачи: «Можно ли в .Net использовать позднее связывание к generic-классам»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication16 { public interface IRepository<T> { void Save(); } public class DataAccess<T> : IRepository<T> { public T Value { get; set; } void IRepository<T>.Save() { Console.Write(Value.ToString()); } } class Program { static void Main(string[] args) { string helloWorld = "Hello world!!!"; DataAccess<string> dac = new DataAccess<string>(); dac.Value = helloWorld; ((IRepository<string>)dac).Save(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д