public static Result Detect()

in net/JetBrains.FormatRipper/src/FileExplorer/FileTypeExplorer.cs [15:44]


    public static Result Detect(Stream stream) => new(
      TryParsePe(stream, out var properties) ? FileType.Pe :
      TryParseElf(stream, out properties) ? FileType.Elf :
      TryParseMachO(stream, out properties) ? FileType.MachO :
      TryParseMsi(stream, out properties) ? FileType.Msi :
      TryParseSh(stream, out properties) ? FileType.Sh :
      TryParseDmg(stream, out properties) ? FileType.Dmg :
      FileType.Unknown, properties);

#if !(NET20 || NET30)
    public static Result DetectFileType(this Stream stream) => Detect(stream);
#endif

    public readonly struct Result
    {
      public Result(FileType fileType, FileProperties fileProperties)
      {
        FileType = fileType;
        FileProperties = fileProperties;
      }

      public readonly FileType FileType;
      public readonly FileProperties FileProperties;

      public void Deconstruct(out FileType fileType, out FileProperties fileProperties)
      {
        fileType = FileType;
        fileProperties = FileProperties;
      }
    }