/// <summary>
        /// Осуществляет получение файлового свойства объекта данных.
        /// </summary>
        /// <remarks>
        /// При необходимости будет произведена дочитка объекта данных.
        /// </remarks>
        /// <param name="dataObject">
        /// Объект данных, содержащий файловое свойство.
        /// </param>
        /// <param name="dataObjectFilePropertyName">
        /// Имя файлового свойства в объекте данных.
        /// </param>
        /// <returns>
        /// Значение файлового свойства объекта данных.
        /// </returns>
        public virtual object GetFileProperty(DataObject dataObject, string dataObjectFilePropertyName)
        {
            if (dataObject == null)
            {
                throw new ArgumentNullException(nameof(dataObject));
            }

            Type dataObjectType             = dataObject.GetType();
            Type dataObjectFilePropertyType = Information.GetPropertyType(dataObjectType, dataObjectFilePropertyName);

            if (dataObjectFilePropertyType != FilePropertyType)
            {
                throw new Exception(string.Format(
                                        "Wrong type of {0}.{1} property. Actual is {2}, but {3} is expected.",
                                        nameof(dataObject),
                                        dataObjectFilePropertyName,
                                        dataObjectFilePropertyType.FullName,
                                        FilePropertyType.FullName));
            }

            // Выполняем дочитку объекта данных, если в переданном объекте на загружено искомое файловое свойство.
            DataObject srcDataObject = dataObject;

            if (!dataObject.CheckLoadedProperty(dataObjectFilePropertyName))
            {
                var view = new View {
                    DefineClassType = dataObjectType, Name = "FilePropertyView"
                };
                view.AddProperty(dataObjectFilePropertyName);

                srcDataObject = (DataObject)Activator.CreateInstance(dataObjectType);
                srcDataObject.SetExistObjectPrimaryKey(dataObject.__PrimaryKey);

                _dataService.LoadObject(view, srcDataObject);
            }

            return(Information.GetPropValueByName(srcDataObject, dataObjectFilePropertyName));
        }