/*
Copyright (C) 2014-2019 de4dot@gmail.com
This file is part of dnSpy
dnSpy is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
dnSpy is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with dnSpy. If not, see .
*/
using dnlib.DotNet;
using dnlib.PE;
namespace dnSpy.Contracts.Images {
///
/// Image manager for .NET fields, types, etc
///
public interface IDotNetImageService {
///
/// Gets an image
///
/// Module
///
ImageReference GetImageReference(ModuleDef module);
///
/// Gets an image
///
/// Type
///
ImageReference GetImageReference(TypeDef type);
///
/// Gets an image
///
/// Field
///
ImageReference GetImageReference(FieldDef field);
///
/// Gets an image
///
/// Method
///
ImageReference GetImageReference(MethodDef method);
///
/// Gets an image
///
/// Event
///
ImageReference GetImageReference(EventDef @event);
///
/// Gets an image
///
/// Property
///
ImageReference GetImageReference(PropertyDef property);
///
/// Gets a module reference image
///
///
ImageReference GetImageReferenceModuleRef();
///
/// Gets an image
///
/// Assembly
///
ImageReference GetImageReference(AssemblyDef assembly);
///
/// Gets an assembly reference image
///
///
ImageReference GetImageReferenceAssemblyRef();
///
/// Gets a generic parameter image
///
///
ImageReference GetImageReferenceGenericParameter();
///
/// Gets a local image
///
///
ImageReference GetImageReferenceLocal();
///
/// Gets a parameter image
///
///
ImageReference GetImageReferenceParameter();
///
/// Gets a type image
///
///
ImageReference GetImageReferenceType();
///
/// Gets a method image
///
///
ImageReference GetImageReferenceMethod();
///
/// Gets a field image
///
///
ImageReference GetImageReferenceField();
///
/// Gets an image
///
/// PE image
///
ImageReference GetImageReference(IPEImage peImage);
///
/// Gets a namespace image
///
///
ImageReference GetNamespaceImageReference();
}
}