Maison  >  Article  >  développement back-end  >  Explication détaillée des paramètres et des types spéciaux d'instances dans ASP.NET

Explication détaillée des paramètres et des types spéciaux d'instances dans ASP.NET

零下一度
零下一度original
2017-07-02 11:58:361585parcourir

Cet article présente principalement les paramètres et les types et fonctionnalités spéciaux dans ASP.NET Il est très bon et a une valeur de référence. Les amis dans le besoin peuvent se référer à

<.>1. Paramètres facultatifs et paramètres nommés

1. Paramètres facultatifs

Syntaxe :


[Modificateur] Nom de la méthode du type de retour (paramètre obligatoire 1...paramètre obligatoire n, paramètre facultatif 1...paramètre facultatif n) >


2. Paramètres nommés

static void BookList(string category,int pageIndex = 1)
        {
          //操作
        }
        //调用
        static void Main(string[] args)
        {
          BookList("C#"); //使用全部默认参数
          BookList("C#",2) //不使用默认参数
        }

Syntaxe :

Nom de la méthode (1 nom du paramètre : valeur du paramètre 1... Nom du paramètre n : valeur du paramètre n)                                                                                                                , spécial .NET types


1. Les types implicites

Les types implicites ont principalement les applications suivantes : déclarer des variables de type locales, pour l'instruction d'initialisation, pour chaque instruction d'initialisation, à l'aide de l'instruction                                                                                                                                             Attribuer valeurs en même temps


2.

Classe anonyme
static void BookList(string category,int pageIndex = 1)
        {
          //操作
        }
        //调用
        static void Main(string[] args)
        {
          BookList(category:"C#"); //使用全部默认参数
          BookList(category:"C#",pageIndex:2) //不使用默认参数
        }
type (le type anonyme peut être créé via new

opérateur et valeur initiale)                                                                              

Remarque : L'attribution d'attributs dans les types anonymes est unique, c'est-à-dire : les attributs des paires anonymes sont en lecture seule

. 3. Type dynamique (définir le type dynamique)



Aucune erreur ne sera signalée au moment de la compilation, mais une erreur sera signalée au moment de l'exécution, car il y a il n'y a pas de méthode Introduce
  var list = new Student(); //Student为自定义类型

4. Quelle est la différence entre les mots-clés dynamiques et var ? var ne peut être utilisé que pour les variables locales, pas pour les champs et les paramètres ; il doit être initialisé au moment de la déclaration ; le type de la variable est déterminé au moment de la compilation dynamique est utilisé pour les champs de types, les paramètres de la méthode, les valeurs de retour de la méthode, peuvent être utilisées pour les paramètres de type générique, etc. 🎜>                                                                            


ou

                    类型?变量名                    

                    eg:                    


 System.Nullable<int> num = null;
             System.Nullable<DateTime> birthday = null;
            //或
             int? num = null;
            DateTime? birthday = null;

                                                注:当把一个可空类型赋值给一个非空类型时,将引发编译错误            


   eg:int? num = null; int num2 = num;

            2.可以使用可空类型的属性,解决不能把一个可空类型赋值给一个非空类型

                (1) HasValue:属于bool类型,当变量包含非空值时,它被设置为true

                (2) Value:如果HasValue为true 则说明Value包含有意义的值,否则将引发InvalidOperaionException                          


   int? num1 = 5
        int num2 = num1??0;

三、特性

        1.C#的特性主要有以下特点

            为目标元素(可以是程序集、类、属性、方法)加入附加信息,类似于注释

            特性本质上也是一个雷,直接或间接的继承自Acttribute类

            特性命名都以Attribute结尾,但是在使用它时可以省略,.NET会自动找到对应得特性类

        2.语法

            [特性名] 或[特性名(参数值...)]            

            eg:             


[Obsolete]  //这个方法可用使用 但是编译时会警告
        [Obsolete("不要使用旧的方法,使用新的方法",false)]  //这个方法可用使用 但是编译时会警告
        [Obsolete("不要使用旧的方法,使用新的方法",true)]   //这个方法不可以使用,编译时会报错
        static void Old(){
          Console.WriteLine("这是旧方法!");
        }
        static void New(){
          Console.WriteLine("这是新方法!");
        }
        public static void Main(){
          Old();
        }

       3.自定义特性(继承Attribute)

            eg:         


[AttributeUsage(AttributeUsages.Class|AttributeUsages.Method,AllowMultiple=true)]
      [AttributeUsage(AttributeUsages.Class)]  //只能在类中进行使用
      [AttributeUsage(AttributeUsages.Method)]  //只能在方法中进行使用
      [AttributeUsage(AllowMultiple=true)]    //可以在同一个类上进行多次使用
      
      class DescriptionAttribute:Attribute{
        public string name{get;set;}
        public DescriptionAttribute(){}
        public DescriptionAttribute(string name){
          this.name = name
        }
      }

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn