2015-02-21 4 views
-5

, если у меня есть класс вроде этого:Получить значения из общего интерфейса

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>, IDbContext 

, как я могу получить некоторые свойства ApplicationUser внутри ApplicationDbContext?

+0

Вы не можете получить его свойства. –

+0

'ApplicationUser' - это параметр типа, а не экземпляр. У него нет свойств, хотя вы можете получить метаданные свойств через тип. Какую проблему ты пытаешься решить? –

+0

ОК, может ли кто-нибудь объяснить мне, что не так с этим вопросом? – kosnkov

ответ

0

Подумайте о следующей программе:

class Program 
{ 
    static void Main(string[] args) 
    { 
     var calc = new Calculator<string>(); 
     Console.WriteLine(calc.Add(1,1)); 
    } 
} 

class Calculator<T> 
{ 
    public int Add(int a, int b) 
    { 
     return a + b; 
    } 
} 

Там нет никакого способа, чтобы получить какие-либо строки, как свойства из калькулятора.

Причина в том, что string является параметром типа, а не объектом. Независимо от того, обладает ли класс доступными свойствами, зависит от многих других факторов. A List<T> позволяет получить объекты типа T назад, но другие классы не должны этого делать.

Смежные вопросы