五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C# Spec燒腦章節(jié)Namespace and type names

2022-02-16 23:22 作者:澄不空  | 我要投稿

這一節(jié)太可怕了。沖沖沖。

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/basic-concepts#namespace-and-type-names

The meaning of a?namespace_or_type_name?is determined as follows:

  • If the?namespace_or_type_name?is a?qualified_alias_member, the meaning is as specified in?§13.8.1.

  • Otherwise, if the?namespace_or_type_name?is of the form?I?or of the form?I<A?, ..., A?>:

    • If?x?is zero and?I?is the name of a namespace in?N, then:

    • Otherwise, if?N?contains an accessible type having name?I?and?x?type parameters, then:

    • Otherwise, if the location where the?namespace_or_type_name?occurs is enclosed by a namespace declaration for?N:

    • If the location where the?namespace_or_type_name?occurs is enclosed by a namespace declaration for?N?and the namespace declaration contains an?extern_alias_directive?or?using_alias_directive?that associates the name?I?with a namespace or type, then the?namespace_or_type_name?is ambiguous and a compile-time error occurs.

    • Otherwise, the?namespace_or_type_name?refers to the namespace named?I?in?N.

    • If?x?is zero and the location where the?namespace_or_type_name?occurs is enclosed by a namespace declaration for?N?and the namespace declaration contains an?extern_alias_directive?or?using_alias_directive?that associates the name?I?with a namespace or type, then the?namespace_or_type_name?is ambiguous and a compile-time error occurs.

    • Otherwise, the?namespace_or_type_name?refers to the type constructed with the given type arguments.

    • If?x?is zero and the namespace declaration contains an?extern_alias_directive?or?using_alias_directive?that associates the name?I?with an imported namespace or type, then the?namespace_or_type_name?refers to that namespace or type.

    • Otherwise, if the namespaces imported by the?using_namespace_directives of the namespace declaration contain exactly one type having name?I?and?x?type parameters, then the?namespace_or_type_name?refers to that type constructed with the given type arguments.

    • Otherwise, if the namespaces imported by the?using_namespace_directives of the namespace declaration contain more than one type having name?I?and?x?type parameters, then the?namespace_or_type_name?is ambiguous and an error occurs.

    • If?x?is zero and the declaration of?T?includes a type parameter with name?I, then the?namespace_or_type_name?refers to that type parameter.

    • Otherwise, if the?namespace_or_type_name?appears within the body of the type declaration, and?T?or any of its base types contain a nested accessible type having name?I?and?x?type parameters, then the?namespace_or_type_name?refers to that type constructed with the given type arguments. If there is more than one such type, the type declared within the more derived type is selected.

    • If?x?is zero and the?namespace_or_type_name?appears within a generic method declaration (§14.6) but outside the?attributes?of its?method-header,?and if that declaration includes a type parameter (§14.2.3) with name?I, then the?namespace_or_type_name?refers to that type parameter.

    • Otherwise, if the?namespace_or_type_name?appears within a type declaration, then for each instance type?T?(§14.3.2), starting with the instance type of that type declaration and continuing with the instance type of each enclosing class or struct declaration (if any):

      Note: Non-type members (constants, fields, methods, properties, indexers, operators, instance constructors, finalizers, and static constructors) and type members with a different number of type parameters are ignored when determining the meaning of the?namespace_or_type_name.?end note

    • Otherwise, for each namespace?N, starting with the namespace in which the?namespace_or_type_name?occurs, continuing with each enclosing namespace (if any), and ending with the global namespace, the following steps are evaluated until an entity is located:

    • Otherwise, the?namespace_or_type_name?is undefined and a compile-time error occurs.

    • Otherwise, the?namespace_or_type_name?is of the form?N.I?or of the form?N.I<A?, ..., A?>.?N?is first resolved as a?namespace_or_type_name. If the resolution of?N?is not successful, a compile-time error occurs. Otherwise,?N.I?or?N.I<A?, ..., A?>?is resolved as follows:

      • If?x?is zero and?N?refers to a namespace and?N?contains a nested namespace with name?I, then the?namespace_or_type_name?refers to that nested namespace.

      • Otherwise, if?N?refers to a namespace and?N?contains an accessible type having name?I?and?x?type parameters, then the?namespace_or_type_name?refers to that type constructed with the given type arguments.

      • Otherwise, if?N?refers to a (possibly constructed) class or struct type and?N?or any of its base classes contain a nested accessible type having name?I?and?x?type parameters, then the?namespace_or_type_name?refers to that type constructed with the given type arguments. If there is more than one such type, the type declared within the more derived type is selected.

        Note: If the meaning of?N.I?is being determined as part of resolving the base class specification of?N?then the direct base class of?N?is considered to be object (§14.2.4.2).?end note

      • Otherwise,?N.I?is an invalid?namespace_or_type_name, and a compile-time error occurs.


    C# Spec燒腦章節(jié)Namespace and type names的評論 (共 條)

    分享到微博請遵守國家法律
    阳新县| 宜宾市| 休宁县| 资阳市| 通江县| 合肥市| 蓝山县| 营山县| 龙岩市| 彭阳县| 隆德县| 改则县| 长宁县| 青阳县| 山丹县| 郁南县| 小金县| 长春市| 甘南县| 东辽县| 报价| 凯里市| 柳州市| 五原县| 合阳县| 黔江区| 漳平市| 扎兰屯市| 嵩明县| 盖州市| 阳西县| 保定市| 泰来县| 秦安县| 榕江县| 漾濞| 通渭县| 开阳县| 巴马| 梓潼县| 利津县|