GDROMExplorer/SEGATools/VirtualFile/VirtualFileBase`1.cs

44 lines
1.5 KiB
C#

// Decompiled with JetBrains decompiler
// Type: SEGATools.VirtualFile.VirtualFileBase`1
// Assembly: SEGATools, Version=1.0.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
// MVID: D631183F-57B1-40A1-B502-5364D288307A
// Assembly location: SEGATools.dll
using System;
using System.IO;
namespace SEGATools.VirtualFile
{
internal abstract class VirtualFileBase<T> :
IVirtualFile<T>,
IVirtualFile,
IEquatable<IVirtualFile>
{
public string OriginalFileName { get; set; }
public string VirtualName { get; private set; }
public abstract T WrappedObject { get; internal set; }
public abstract System.IO.Stream FileInputStream { get; }
public abstract System.IO.Stream FileOutputStream { get; }
protected VirtualFileBase(string OriginalFileName, string VirtualName)
{
this.OriginalFileName = OriginalFileName;
this.VirtualName = VirtualName;
}
public override int GetHashCode() => 1 + 17 * this.OriginalFileName.GetHashCode() + 31 * this.VirtualName.GetHashCode();
public override bool Equals(object obj)
{
IVirtualFile virtualFileBase = obj as IVirtualFile;
return !object.ReferenceEquals((object) virtualFileBase, (object) null) && this.Equals(virtualFileBase);
}
public bool Equals(IVirtualFile virtualFileBase) => string.Equals(this.VirtualName, virtualFileBase.VirtualName, StringComparison.Ordinal) && string.Equals(this.OriginalFileName, virtualFileBase.OriginalFileName, StringComparison.Ordinal);
}
}