이미지 크기에 대한 계산을 수행하는 기본 클래스가 있습니다. 그 클래스를 파생시키고 내 코드에서 사용할 이미지 크기를 미리 정의했습니다. 제가 일하는 동안, 나는 제대로하지 못한다는 강한 느낌을 가지고 있습니다.C# : 파생 클래스를 매개 변수로 전달
이상적으로, 나는 그것의 인스턴스를 만들지 않고도 GetWidth에 대한 매개 변수로 DerviedClass.PreviewSize를 전달하는 것이 이상적입니다.
class Program
{
static void Main(string[] args)
{
ProfilePics d = new ProfilePics();
Guid UserId = Guid.NewGuid();
ProfilePics.Preview PreviewSize = new ProfilePics.Preview();
d.Save(UserId, PreviewSize);
}
}
class ProfilePicsBase
{
public interface ISize
{
int Width { get; }
int Height { get; }
}
public void Save(Guid UserId, ISize Size)
{
string PicPath = GetTempPath(UserId);
Media.ResizeImage(PicPath, Size.Width, Size.Height);
}
}
class ProfilePics : ProfilePicsBase
{
public class Preview : ISize
{
public int Width { get { return 200; } }
public int Height { get { return 160; } }
}
}
클래스 사용 방법에 대한보다 완벽한 예를 보여줄 수 있습니까? –
Neil에게 답변 해 주셔서 감사합니다. 필자는 상황을보다 정확하게 반영하기 위해 예제를 업데이트했습니다. (ProfilePicsBase는 별도의 프로젝트에있는 클래스이므로 프로젝트 별 프로젝트를 만들기 위해 파생 된 이유입니다.) –
변수에 파스칼 케이스 (초기 대문자)를 사용하고 있다는 사실은 ... –