当前位置: 首页>>代码示例>>C#>>正文


C# PropertyBag.AsReadOnly方法代码示例

本文整理汇总了C#中PropertyBag.AsReadOnly方法的典型用法代码示例。如果您正苦于以下问题:C# PropertyBag.AsReadOnly方法的具体用法?C# PropertyBag.AsReadOnly怎么用?C# PropertyBag.AsReadOnly使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PropertyBag的用法示例。


在下文中一共展示了PropertyBag.AsReadOnly方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Capture

        public ChangeSet Capture()
        {
            if (Leakage != null || Admixture != null || Changes != null)
                throw new NotSupportedException("Cannot call this method twice.");

            NewVersion = Get().AsReadOnly();
            Admixture = new PropertyBag();
            Changes = new PropertyBag();
            Leakage = new PropertyBag();

            foreach(var key in BaseLine.Keys.Union(NewVersion.Keys))
            {
                if (BaseLine.ContainsKey(key) && NewVersion.ContainsKey(key))
                {
                    var bval = BaseLine[key];
                    var cval = NewVersion[key];

                    if (!Equals(bval, cval))
                    {
                        Changes.Add(key, cval);
                    }
                }
                else if (BaseLine.ContainsKey(key) && !NewVersion.ContainsKey(key))
                {
                    Leakage.Add(key, BaseLine[key]);
                }
                else if (!BaseLine.ContainsKey(key) && NewVersion.ContainsKey(key))
                {
                    Admixture.Add(key, NewVersion[key]);
                }
            }

            Admixture = Admixture.AsReadOnly();
            Changes = Changes.AsReadOnly();
            Leakage = Leakage.AsReadOnly();

            return this;
        }
开发者ID:xeno-by,项目名称:elf4b,代码行数:38,代码来源:ChangeSet.cs

示例2: AsReadOnly

        public void AsReadOnly()
        {
            PropertyBag original = new PropertyBag();
            original.Add("abc", "123");

            PropertyBag readOnly = original.AsReadOnly();
            Assert.IsTrue(readOnly.IsReadOnly);
            AssertAreEqual(original, readOnly);

            MbUnit.Framework.Assert.Throws<NotSupportedException>(delegate { readOnly.Add("def", "456"); });
            MbUnit.Framework.Assert.Throws<NotSupportedException>(delegate { readOnly["abc"].Add("456"); });
        }
开发者ID:dougrathbone,项目名称:mbunit-v3,代码行数:12,代码来源:PropertyBagTest.cs


注:本文中的PropertyBag.AsReadOnly方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。