2014-08-22 2 views
0

проходил через эту code hereинтерфейса в C#, что это означает в этом контексте

здесь код смутил меня

private void sendMessage() 
{ 
    IConnectionFactory wlsConnectionFactory; 
    IQueue ordersQueue; 

    IDictionary<string, Object> environment; 
    IContext jndiContext; 

В сети многоточия и C# префикс I означает интерфейс нет? Если приведенное выше утверждение верно то, что делает эта строка означает, например

IQueue ordersQueue; 

ли эта программа работала, если мы что-то вроде

Queue ordersQueue instead of IQueue ordersQueue ? 
+2

Это означает, что переменная orderQueue может ссылаться на любой конкретный тип, который реализует интерфейс IQueue. –

+1

Это соглашение об именах и, как правило, безопасно предположить, что это интерфейс, но это не обязательно. Все это означает, что переменная может быть любого типа, реализующего интерфейс 'IQueue'. – Yuck

+0

Спасибо, Daniel and Yuck – user3249433

ответ

3

Прежде всего, I префикс подразумевает интерфейс , но это всего лишь соглашение (хотя и весьма широко применяемое соглашение)

IQueue ordersQueue; 

означает, что ordersQueue может быть назначен любой тип, который реализует интерфейс IQueue.

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