Как мне сделать элемент в элементе ООП
Т.е я хочу чтобы у меня было так
BingElement a;
Console.WriteLine(a.IMAGE);
Но как я понял, я делаю не так все, и у меня не работает
public class BingElement
{
public class ImageEl
{
const string IMAGE = "image";
}
public class SearchEl
{
const string SEARCH = "search";
}
}
Как мне поправить это? Или если я не правильно вообще делаю, как мне стоит сделать?
Я пытаюсь сделать гибкую систему аргументов(объектов) для методов
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Как-то так это делается
public class ImageEl
{
public string Name;
}
public class SearchEl
{
public string Text;
}
public class BingElement
{
public ImageEl Image;
public SearchEl Search;
}
Обращаться как-то так.
BingElement element = new BingElement();
element.Image = new ImageEl();
element.Image.Name = "Image";
element.Search = new SearchEl();
element.Search.Text = "Text";
Еще есть такая штука в C# как свойства, для публичных членов класса лучше использовать свойства.
Константы - это статические члены класса, они не сильно относятся к ООП, а скорее просто помогают писать красивый код.
То есть если у вас такая константа
public class ImageEl
{
public const string IMAGE = "image";
}
то обращаться к ней надо так
Console.WriteLine(ImageEl.IMAGE);