AcManager.PackedHelper.ExtractUnmanaged C# (CSharp) Метод

ExtractUnmanaged() приватный Метод

private ExtractUnmanaged ( string id ) : string
id string
Результат string
        private string ExtractUnmanaged(string id) {
            var size = _references?.GetString(id + "//size");
            if (size == null) {
                throw new Exception($"Assembly {id} is missing");
            }

            var sizeLong = long.Parse(size, CultureInfo.InvariantCulture);
            var name = id + ".dll";
            var filename = Path.Combine(_temporaryDirectory, name);

            var existing = new FileInfo(filename);
            if (existing.Exists && existing.Length == sizeLong) {
                // BUG: never happens?
                if (_logFilename != null) {
                    Log("Already extracted: " + filename);
                }

                return filename;
            }

            var bytes = GetData(id);
            if (bytes == null) throw new Exception($"Data for {id} is missing");

            Log("Writing, " + bytes.Length + " bytes (saved: " + sizeLong + ")");
            File.WriteAllBytes(filename, bytes);
            return filename;
        }