乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      spring.net (3)依賴注入基礎(chǔ)2

       昵稱10504424 2014-01-08

      如何調(diào)用其他對(duì)象的成員

        接上文例子:

        現(xiàn)在Person有一個(gè)屬性 name 靜態(tài)屬性 eye 域 gender

      復(fù)制代碼
        public class Person
          {
              public string name { get; set; }
              public static object eye { get; set; }
              public string gender;
              public Pet pet { get; set; }public object seefrisbee(object color)
              {
                  return string.Format("{0}看到{1}追著{2}顏色的飛盤", name,pet.name,color);
              }
              ~Person()
              {
                  Console.WriteLine(name + "離開");
              }
          }
      復(fù)制代碼

      對(duì)屬性賦值:

        

      復(fù)制代碼
       <object id="person" type="SpringDemo.Person,SpringDemo" singleton="true" >
          <property name="pet" ref="dog" ></property>
          <property name="name" value="Yahue"></property>
          <property name="gender" value="男"></property>
          <property name="eye" value="擁有迷離而又憂郁的眼神"></property>
          <listener event="frisbeefly" method="seefrisbee">
            <ref object="dog"/>
          </listener>
        </object>
      復(fù)制代碼

      name

        <object id="personname" type="Spring.Objects.Factory.Config.PropertyRetrievingFactoryObject, Spring.Core">
          <property name="TargetObject" ref="person"></property>
          <property name="TargetProperty" value="name"></property>
        </object>

      eye

       <!--靜態(tài)屬性的調(diào)用-->
        <object id="personeye" type="Spring.Objects.Factory.Config.PropertyRetrievingFactoryObject, Spring.Core">
          <property name="StaticProperty" value="SpringDemo.Person.eye"></property>
        </object>

      gender

      <object id="persongender" type="Spring.Objects.Factory.Config.FieldRetrievingFactoryObject, Spring.Core">
          <property name="TargetObject" ref="person"/>
          <property name="TargetField" value="gender"/>
        </object>

      執(zhí)行:

              Console.WriteLine(ctx.GetObject("personname"));
                  Console.WriteLine(ctx.GetObject("persongender"));
                  Console.WriteLine(ctx.GetObject("personeye"));
                  Console.ReadLine();

      輸出結(jié)果:

        

      Yahue
      男
      擁有迷離而又憂郁的眼神

      調(diào)用其他對(duì)象的方法:

      Person有了靜態(tài)say的方法:

        

      復(fù)制代碼
          public class Person
          {
              public string name { get; set; }
              public static object eye { get; set; }
              public string gender;
              public Pet pet { get; set; }
              public static string say(string word1,string word2,string word3)
              {
                  return string.Format("說:{0}-{1}-{2}", word1, word2, word3);
              }
      
              public object seefrisbee(object color)
              {
                  return string.Format("{0}看到{1}追著{2}顏色的飛盤", name,pet.name,color);
              }
              ~Person()
              {
                  Console.WriteLine(name + "離開");
              }
          }
      復(fù)制代碼

      xml

      復(fù)制代碼
      <object id="personsay" type="Spring.Objects.Factory.Config.MethodInvokingFactoryObject, Spring.Core">
          <property name="TargetType" value="SpringDemo.Person,SpringDemo"></property>
          <property name="TargetMethod" value="say"></property>
          <property name="Arguments">
            <list>
              <value>啊</value>
              <value>大海啊</value>
              <value>全是水</value>
            </list>
          </property>
          
        </object>
      復(fù)制代碼
      Console.WriteLine(ctx.GetObject("personsay"));

      輸出:

      說:啊-大海啊-全是水

      現(xiàn)在有個(gè)非靜態(tài)的say2方法:

      復(fù)制代碼
       public class Person
          {
              public string name { get; set; }
              public static object eye { get; set; }
              public string gender;
              public Pet pet { get; set; }
              public static string say(string word1,string word2,string word3)
              {
                  return string.Format("說:{0}-{1}-{2}", word1, word2, word3);
              }
              public string say2(string word1, string word2, string word3)
              {
                  return string.Format("說:{0}-{1}-{2}", word1, word2, word3);
              }
              public object seefrisbee(object color)
              {
                  return string.Format("{0}看到{1}追著{2}顏色的飛盤", name,pet.name,color);
              }
              ~Person()
              {
                  Console.WriteLine(name + "離開");
              }
          }
      復(fù)制代碼
      復(fù)制代碼
        <object id="personsay2" type="Spring.Objects.Factory.Config.MethodInvokingFactoryObject, Spring.Core">
          <property name="TargetObject" ref="person"></property>
          <property name="TargetMethod" value="say2"></property>
          <property name="NamedArguments">
            <dictionary>
              <entry key="word1" value="啊!"></entry>
              <entry key="word2" value="大海??!"></entry>
              <entry key="word3" value="全是水!"></entry>
            </dictionary>
          </property>
        </object>
      復(fù)制代碼

      注意ref的值是待調(diào)用對(duì)象的實(shí)例

      調(diào)用:

       Console.WriteLine(ctx.GetObject("personsay2"));

      執(zhí)行結(jié)果:

      說:??!-大海?。?全是水!

      注意:方法參數(shù)的傳遞有兩種方式:NamedArguments和Arguments 前者方法名和值是個(gè)鍵值,后者是個(gè)注入的參數(shù)順序和方法的參數(shù)順序?qū)?yīng)的集合。

      轉(zhuǎn)載本博客上的文章需要注明來源,請(qǐng)尊重作者的原創(chuàng)內(nèi)容,否則有權(quán)追求其法律責(zé)任。
      分類: spring.net

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多