// // Copyright (c) James Jackson-South and contributors. // Licensed under the Apache License, Version 2.0. // namespace ImageSharp.Tests { using System; /// /// Utility class to create specialized subclasses of generic classes (eg. ) /// Used as parameter for -based factory methods /// public class GenericFactory where TColor : struct, IPackedPixel, IEquatable { public virtual Image CreateImage(int width, int height) { return new Image(width, height); } public virtual Image CreateImage(byte[] bytes) { return new Image(bytes); } } public class DefaultImageClassSpecificFactory : GenericFactory { public override Image CreateImage(byte[] bytes) => new Image(bytes); public override Image CreateImage(int width, int height) => new Image(width, height); } }