コード例 #1
0
ファイル: WorkspaceRole.cs プロジェクト: Allors/allors2
        internal WorkspaceRole(IMetaPopulation metaPopulation, SyncResponseRole syncResponseRole)
        {
            var value = syncResponseRole.v;

            this.RoleType = (IRoleType)metaPopulation.Find(Guid.Parse(syncResponseRole.t));

            var objectType = this.RoleType.ObjectType;

            if (objectType.IsUnit)
            {
                this.Value = UnitConvert.Parse(this.RoleType.ObjectType.Id, value);
            }
            else
            {
                if (this.RoleType.IsOne)
                {
                    this.Value = value != null?long.Parse(value) : (long?)null;
                }
                else
                {
                    this.Value = value != null
                        ? value.Split(Encoding.Separator).Select(long.Parse).ToArray()
                        : Array.Empty <long>();
                }
            }
        }
コード例 #2
0
 public Fetch(IMetaPopulation metaPopulation, params Guid[] propertyTypeIds)
     : this(propertyTypeIds.Select(v => (IPropertyType)metaPopulation.Find(v)).ToArray())
 {
 }