Type Parameter Naming Guidelines 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Type Parameter Naming Guidelines



· Do name generic type parameters with descriptive names, unless a single letter name is completely self explanatory and a descriptive name would not add value.

public interface ISessionChannel<TSession> { /*...*/ } public delegate TOutput Converter<TInput, TOutput>(TInput from); public class List<T> { /*...*/ }

· Consider using T as the type parameter name for types with one single letter type parameter.

public int IComparer<T>() { return 0; } public delegate bool Predicate<T>(T item); public struct Nullable<T> where T: struct { /*...*/ }

· Do prefix descriptive type parameter names with “T”.

public interface ISessionChannel<TSession> { TSession Session { get; } }

· Consider indicating constraints placed on a type parameter in the name of parameter. For example, a parameter constrained to ISession may be called TSession.


Параметры универсального типа

В определении универсального типа или метода параметры типа представляют собой заполнитель для определенного типа, задаваемого клиентом при создании переменной универсального типа. Универсальный класс, такой как GenericList<T>, нельзя использовать "как есть", поскольку он является не типом а, скорее, чертежом типа. Для работы с GenericList<T> в клиентском коде необходимо объявить и создать конструируемый тип, указав в угловых скобках аргумент типа. Аргумент-тип для этого конкретного класса может быть любым типом, распознаваемым компилятором. Можно создать любое количество экземпляров конструируемых типов, и каждый из них может использовать разные аргументы типа, как показано далее.

ß--

В каждом экземпляре GenericList<T> каждое вхождение T в классе будет заменено во время выполнения аргументом типа. С помощью данной замены было создано три отдельных строго типизированных и эффективных объекта, использующих определение класса.

Рекомендации по именованию параметра типа

· При именовании параметров универсальных типов используйте описательные имена, если только однобуквенное имя не является полностью понятным без пояснений, вследствие чего нет необходимости применять описательное имя.

ß---

· Для типов с однобуквенными параметрами рекомендуется использовать "T" в качестве имени параметра типа.

ß---

 

· К описательным именам параметров типа добавляйте префикс "T".

ß---

· В имени параметра рекомендуется указывать ограничения, накладываемые на параметр типа. Например, параметр, предназначенный только для ISession, может называться TSession.

 


Namespaces

Namespaces are heavily used in C# programming in two ways. First, the.NET Framework uses namespaces to organize its many classes, as follows:

System.Console.WriteLine("Hello World!");

System is a namespace and Console is a class in that namespace. The using keyword can be used so that the complete name is not required, as in the following example:

using System;
Console.WriteLine("Hello"); Console.WriteLine("World!");

Second, declaring your own namespaces can help you control the scope of class and method names in larger programming projects. Use the namespace keyword to declare a namespace, as in the following example:

namespace SampleNamespace { class SampleClass { public void SampleMethod() { System.Console.WriteLine( "SampleMethod inside SampleNamespace"); } } }

Namespaces Overview

Namespaces have the following properties:

· They organize large code projects.

· They are delimited by using the. operator.

· The using directive obviates the requirement to specify the name of the namespace for every class.

· The global namespace is the "root" namespace: global::System will always refer to the.NET Framework namespace System.


Пространства имен

В программировании на C# пространства имен используются с полной нагрузкой по двум направлениям. Во-первых, платформа.NET Framework использует пространства имен для организации большинства классов. Это выполняется следующим образом.

System.Console.WriteLine("Hello World!");

System — это пространство имен, а Console — класс в нем. Использование ключевого слова using может отменить необходимость полного имени, как показано в следующем примере.

using System;
Console.WriteLine("Hello"); Console.WriteLine("World!");

Во-вторых, объявление собственного пространства имен поможет в управлении областью действия имен классов и методов в крупных программных проектах. Для объявления пространства имен воспользуйтесь ключевым словом namespace, как показано в следующем примере.

ß---



Поделиться:


Последнее изменение этой страницы: 2017-01-19; просмотров: 129; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.196.217 (0.005 с.)