2015-05-11 4 views
3

Что это за использование оператора C#?Что это за использование выражения C# 'using?

namespace Microsoft.Owin.Host.SystemWeb.DataProtection { 
    using DataProtectionProviderDelegate = Func<string[], Tuple<Func<byte[], byte[]>, Func<byte[], byte[]>>>; 
    using DataProtectionTuple = Tuple<Func<byte[], byte[]>, Func<byte[], byte[]>>; 

Taken from here

Согласно MSDN, используя утверждение имеет два использований.

  1. (директива) Типы импортируемых в текущие файлы, либо непосредственно, либо путем предоставления псевдонима
  2. (заявление) обеспечивает IDisposable объекты правильно расположены.

Но в этом случае он используется для назначения типа делегата. Может ли кто-нибудь объяснить это использование и предоставить ссылку на документацию?

+7

Разве это не первый один, давая вещи псевдоним? –

+1

, пожалуйста, удалите используемую систему, это сделает более очевидным, что вы хотите знать о том, что внутри пространства имен, кто победит, +1 комментарий или +1 ответ? – Fredou

+0

удалил первое использование, спасибо, и да, это был первый Джеймс. Я думал, что только другое пространство имен может быть псевдонимом, но тип тоже может быть псевдонимом. – BuddhiP

ответ

16

В этом случае оператор using используется для псевдонимов типа, поэтому да (1) вы указали.

Позже в коде вместо того, чтобы ввести:

var x = new Tuple<Func<byte[], byte[]>, Func<byte[], byte[]>>(/* ... */); 

Вы можете написать:

var x = new DataProtectionTuple(/* ... */); 
+0

О, Круто. в MSDN говорится: «Чтобы создать псевдоним для пространства имен или типа», ранее не отмечалась часть типа. Благодарю. – BuddhiP