| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > error CS1501: No overload for method 'AddInfo' |
| Автор: Mastkir 27.10.2006, 20:32 |
| Здравствуйте. Понадобилось мне объявить структуру внутри класса-контейнера таких структур. Пишу (здесь очень урезанная версия): namespace XXX { public ref class InfoContainer{ public: ref struct Info{ Info(...){...} }; InfoContainer(){}; void AddInfo(Info info){...}; } } // этот код написан на CLI. Все скомпилировалось. using XXX; namespace YYY { public partial class MainFrame : Form{ public MainFrame() { InfoContainer info_container = new InfoContainer(); InfoContainer.Info info = new InfoContainer.Info(...); info_container.AddInfo(info); } } }// этот код написан на C#. И на последнюю строчку( т.е. на info_container.AddInfo(info); ) Пишется error CS1501: No overload for method 'AddInfo' ПочемУ? |
| Автор: ivashkanet 27.10.2006, 21:02 |
Скорее всего, метод без модификатора объявляется как private P.S. В C# так, может и в CLI (это IL?) так |
| Автор: archimed7592 28.10.2006, 02:49 | ||||
| ivashkanet, он имел ввиду Managed C++ aka C++.NET Mastkir, в managed c++ не совсем та же разница между class и struct, что и в c# в c# class - ссылочый тип, struct - тип данных. в c# все поля по умолчанию private в с++ class и struct отличаются тем, что по умолчанию поля в одних private, а в других public. за "ссылочность" отвечают слова ref и value. ключевое слово ref говорит, что у тебя ссылочный тип (обыкновенный класс), stuct - по умолчанию все поля public.
то что тебе нужно - это value class\struct - аналог stuct из c#
|
| Автор: Mastkir 30.10.2006, 13:19 |
Спасибо |