コード例 #1
0
ファイル: AcadXData.cs プロジェクト: SoftBIM/DXFReader
        private void InternGetOneXData(string vstrAppName, ref object rvarXDataType, ref object rvarXDataValue)
        {
            rvarXDataType  = null;
            rvarXDataValue = null;
            string       dstrName          = Strings.UCase(vstrAppName);
            AcadXDataApp dobjAcadXDataApp2 = default(AcadXDataApp);

            if (mobjDictNames.ContainsKey(dstrName))
            {
                try
                {
                    dobjAcadXDataApp2 = (AcadXDataApp)mcolClass[dstrName];
                }
                catch (Exception ex2)
                {
                    ProjectData.SetProjectError(ex2);
                    Exception ex = ex2;
                    ProjectData.ClearProjectError();
                }
                dobjAcadXDataApp2?.GetXData(ref rvarXDataType, ref rvarXDataValue);
            }
            dobjAcadXDataApp2 = null;
        }
コード例 #2
0
ファイル: AcadXData.cs プロジェクト: SoftBIM/DXFReader
        private void InternGetAllXData(ref object rvarXDataType, ref object rvarXDataValue)
        {
            rvarXDataType  = null;
            rvarXDataValue = null;
            int dlngCount = -1;

            checked
            {
                IEnumerator  enumerator = default(IEnumerator);
                AcadXDataApp dobjAcadXDataApp3;
                try
                {
                    enumerator = mcolClass.Values.GetEnumerator();
                    while (enumerator.MoveNext())
                    {
                        dobjAcadXDataApp3 = (AcadXDataApp)enumerator.Current;
                        dlngCount         = dlngCount + dobjAcadXDataApp3.Count + 1;
                    }
                }
                finally
                {
                    if (enumerator is IDisposable)
                    {
                        (enumerator as IDisposable).Dispose();
                    }
                }
                if (dlngCount > -1)
                {
                    int         dlngIdx         = 0;
                    object[]    davarXDataType  = new object[dlngCount + dlngIdx + 1];
                    object[]    davarXDataValue = new object[dlngCount + dlngIdx + 1];
                    IEnumerator enumerator2     = default(IEnumerator);
                    try
                    {
                        enumerator2 = mcolClass.Values.GetEnumerator();
                        object[] dvarAppXDataType  = default(object[]);
                        object[] dvarAppXDataValue = default(object[]);
                        while (enumerator2.MoveNext())
                        {
                            dobjAcadXDataApp3 = (AcadXDataApp)enumerator2.Current;
                            AcadXDataApp acadXDataApp    = dobjAcadXDataApp3;
                            object       rvarXDataType2  = dvarAppXDataType;
                            object       rvarXDataValue2 = dvarAppXDataValue;
                            acadXDataApp.GetXData(ref rvarXDataType2, ref rvarXDataValue2);
                            dvarAppXDataValue = (object[])rvarXDataValue2;
                            dvarAppXDataType  = (object[])rvarXDataType2;
                            int num  = Information.LBound(dvarAppXDataType);
                            int num2 = Information.UBound(dvarAppXDataType);
                            for (int dlngAppIdx = num; dlngAppIdx <= num2; dlngAppIdx++)
                            {
                                davarXDataType[dlngIdx]  = RuntimeHelpers.GetObjectValue(dvarAppXDataType[dlngAppIdx]);
                                davarXDataValue[dlngIdx] = RuntimeHelpers.GetObjectValue(dvarAppXDataValue[dlngAppIdx]);
                                dlngIdx++;
                            }
                        }
                    }
                    finally
                    {
                        if (enumerator2 is IDisposable)
                        {
                            (enumerator2 as IDisposable).Dispose();
                        }
                    }
                    rvarXDataType  = Support.CopyArray(davarXDataType);
                    rvarXDataValue = Support.CopyArray(davarXDataValue);
                }
                dobjAcadXDataApp3 = null;
            }
        }