/// <summary>Initializes a new instance of the <see cref="FileDescriptor" /> class.</summary> /// <param name="fileDescriptorByte">The file descriptor byte that shall be parsed.</param> public FileDescriptor(byte fileDescriptorByte) { _fileDescriptor = fileDescriptorByte; _type = SCardHelper.IsSet(_fileDescriptor, FILE_TYPE_MASK, FILE_TYPE_DF) ? FileType.Dedicated : FileType.Elementary; // ExtendedType if (SCardHelper.IsSet(_fileDescriptor, FILE_TYPE_MASK, FILE_TYPE_DF)) { _extendedType = ExtendedFileType.Dedicated; } else if (SCardHelper.IsSet(_fileDescriptor, FILE_TYPE_MASK, FILE_TYPE_WORKING_EF)) { _extendedType = ExtendedFileType.WorkingElementary; } else if (SCardHelper.IsSet(_fileDescriptor, FILE_TYPE_MASK, FILE_TYPE_INTERNAL_EF)) { _extendedType = ExtendedFileType.InternalElementary; } else { _extendedType = ExtendedFileType.Proprietary; } _shareMode = SCardHelper.IsSet(_fileDescriptor, FILE_SHARE_MODE_MASK, FILE_SHARE_MODE_SHAREABLE) ? FileShareMode.Shareable : FileShareMode.NotShareable; _fileStructureInfoCache = null; }