If an implementation of the file format enables applications to create
storage objects without explicitly setting an object class GUID, it MUST write all zeroes by default.
If this value is not all zeroes, the object class GUID can be used as a parameter to start
applications.
even more redundant than it already was, you're setting member variables to zero that you're already initialized to zero at their declaration.
Also, this:
See the below quote from the specification:
To fix this, change:
https://github.com/ironfede/openmcdf/blob/04b53dc16e89fd5ad1990d5fdbd234719d78d694/sources/OpenMcdf/DirectoryEntry.cs#L190
To:
This change makes the switch block:
https://github.com/ironfede/openmcdf/blob/04b53dc16e89fd5ad1990d5fdbd234719d78d694/sources/OpenMcdf/DirectoryEntry.cs#L54
even more redundant than it already was, you're setting member variables to zero that you're already initialized to zero at their declaration. Also, this:
https://github.com/ironfede/openmcdf/blob/04b53dc16e89fd5ad1990d5fdbd234719d78d694/sources/OpenMcdf/DirectoryEntry.cs#L58
is one of the most inefficient ways to set a GUID to Guid.Empty.
Replacing that switch block with this if statement:
will have the same effect as that switch block.