您的位置:首页 > 编程语言 > Java开发

SPRING.NET 1.3.2 学习9--设置泛型集合的值

2013-03-07 14:41 323 查看
下面举例,一个类中包含了一个泛型集合类型
public class LotteryTicket { 
  List<int> list;
  DateTime date; 
  public List<int> Numbers { 
    set { list = value; }
    get { return list; } 
  }
  public DateTime Date { 
    get { return date; } 
    set { date = value; } 
  } 
}
配置这个泛型集合
<object id="MyLotteryTicket" type="GenericsPlay.Lottery.LotteryTicket, GenericsPlay">
  <property name="Numbers"> 
    <list element-type="int"> 
      <value>11</value>
      <value>21</value> 
      <value>23</value>
      <value>34</value> 
      <value>36</value>
      <value>38</value> 
    </list> 
  </property>
  <property name="Date" value="4/16/2006"/>
</object>
下面是一个更复杂的例子
public class GenericExpressionHolder
    {
        private System.Collections.Generic.IList<IExpression> expressionsList;
        private System.Collections.Generic.IDictionary<string,IExpression> expressionsDictionary;
        public System.Collections.Generic.IList<IExpression> ExpressionsList
        {
            set { this.expressionsList = value; }
        }
        public System.Collections.Generic.IDictionary<string, IExpression> ExpressionsDictionary
        {
            set { this.expressionsDictionary = value; }
        }
        public IExpression this[int index]
        {
            get
            {
                return this.expressionsList[index];
            }
        }
        public IExpression this[string key]
        {
            get { return this.expressionsDictionary[key]; }
        }
    }
下面的XML配置文件使用了Spring.Expressions.IExpression,它用来协助类型转换,Spring.Objects.TypeConverters.ExpressionConverter已经预注册在Spring框架中,不用手动注册它
<object id="genericExpressionHolder"
    type="Spring.Objects.Factory.Xml.GenericExpressionHolder,
    Spring.Core.Tests">
    <property name="ExpressionsList">
        <list element-type="Spring.Expressions.IExpression, Spring.Core">
            <value>1 + 1</value>
            <value>date('1856-7-9').Month</value>
            <value>'Nikola Tesla'.ToUpper()</value>
            <value>DateTime.Today > date('1856-7-9')</value>
        </list>
    </property>
    <property name="ExpressionsDictionary">
        <dictionary key-type="string" value-type="Spring.Expressions.IExpression, Spring.Core">
            <entry key="zero">
                <value>1 + 1</value>
            </entry>
            <entry key="one">
                <value>date('1856-7-9').Month</value>
            </entry>
            <entry key="two">
                <value>'Nikola Tesla'.ToUpper()</value>
            </entry>
            <entry key="three">
                <value>DateTime.Today > date('1856-7-9')</value>
            </entry>
        </dictionary>
    </property>
</object>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: