Witam,
Nie umiem znaleźć rozwiązania swojego problemu. Otóż mam bibliotekę (nazwijmy ją Logic.dll) z której korzysta program. W Bibliotece chcę utworzyć klasę bazową z której korzystać będą inne klasy. Mniej więcej wyglądałoby to tak
public class PostBase
{
protected IPost GetPost(int postId)
{
IPost model = new Model.Post();
model.Identyfikator = 1;
model.Tresc = "Test posta";
return model;
}
protected List<IPost> GetPosts(int topicId, int offset, int limit)
{
List<IPost> result = new List<IPost>();
for(int i = 0; i < 5; i++)
{
IPost item = new Model.Post();
item.Identyfikator = i + 1;
item.Tresc = string.Format("Test posta {0}", item.Identyfikator);
}
return result;
}
}
I przykład klasy dziedziczącej
public class Post : PostBase
{
public IPost GetPost(int postId)
{
return base.GetPost(postId);
}
}
Nie wiem czy moje podejście do problemu jest dobre czy może powinienem rozwiązać go inaczej jednak nie o to tu chodzi. Pomijając fakt czy metody zostaną protected czy zmienie je na virtual mam problem, że klasa PostBase musi być publiczna aby mogła być dziedziczona z klasy Post ale wtedy jest widoczna poza biblioteką czyli w programie. I wtedy mogę utworzyć instancję klasy, która nic nie robi... Mogę w jakiś sposób ukryć tę klasę?