五月天青色头像情侣网名,国产亚洲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的評論 (共 條)

    分享到微博請遵守國家法律
    华容县| 原阳县| 常宁市| 荣成市| 寿光市| 河西区| 平果县| 元阳县| 高唐县| 尼木县| 浪卡子县| 马尔康县| 凤阳县| 琼海市| 湖口县| 故城县| 曲阜市| 海林市| 剑阁县| 天等县| 宁津县| 科技| 修武县| 紫阳县| 永清县| 周口市| 阿拉尔市| 重庆市| 自贡市| 长阳| 田林县| 若尔盖县| 孟连| 白城市| 长寿区| 营山县| 阿拉尔市| 全椒县| 昭苏县| 淳化县| 宁河县|