Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.07.2010, 23:27   #1
Булкин
Новичок
Джуниор
 
Регистрация: 18.07.2010
Сообщений: 2
Сообщение Проблема с методами классов в C#.

Я только начал изучать программирование, так что заранее извините, если вопрос глупый.
Когда мне пришлось выбирать, каким методом обучаться этому языку, я выбрал статьи на одном интересном сайте. Но когда я дошел до третьего урока, я застрял. Вот что там написано:

Цитата:
"Предположим, вам потребовалось, чтобы компьютер вывел на экран следующий текст:

Hello Jo
Hello Sam
Hello You

Один из возможных способов — написать отдельный метод для каждого случая:

Код:
void WriteHelloJo()
{
    Console.WriteLine("Hello Jo");
}
void WriteHelloSam()
{
    Console.WriteLine("Hello Sam");
}
void WriteHelloYou()
{
    Console.WriteLine("Hello You");
}
Затем необходимо вызвать их следующим образом:

Код:
WriteHelloJo();
WriteHelloSam();
WriteHelloYou();
Но ведь все три метода очень похожи. А что если написать один метод WriteHello, дополнив его соответствующими параметрами, и при каждом вызове просто передавать значение параметра, отличающее один вызов от другого?

Вот как это можно сделать:

Код:
void WriteHello(string someName)
{
    Console.WriteLine("Hello " + someName);
}
и затем вызвать метод следующим образом:

Код:
WriteHello("Jo");
WriteHello("Sam");
WriteHello("You");"
Я сделал все так, как написано выше, но у меня С# показал ошибку. Он написал: Ошибка1 - Пространство имен не может непосредственно содержать такие члены, как поля или методы.
Подскажите, что мне делать?

Последний раз редактировалось Stilet; 19.07.2010 в 08:46.
Булкин вне форума Ответить с цитированием
Старый 19.07.2010, 08:50   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вся фишка в том что ты наверное не дочитал. Метод этот должен пренадлежать некому классу, и быть публичным, если он вызывается в другом классе, или статическим если вызывается в своем же классе:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication11
{
    class Program
    {
        static void WriteHello(string someName)
        {
            Console.WriteLine("Hello " + someName);
        }

        static void Main(string[] args)
        {
            WriteHello("Jo");
            WriteHello("Sam");
            WriteHello("You");
            Console.ReadKey();

        }
    }
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.07.2010, 12:54   #3
Булкин
Новичок
Джуниор
 
Регистрация: 18.07.2010
Сообщений: 2
Радость

Цитата:
Сообщение от Stilet Посмотреть сообщение
Вся фишка в том что ты наверное не дочитал. Метод этот должен пренадлежать некому классу, и быть публичным, если он вызывается в другом классе, или статическим если вызывается в своем же классе:
Спасибо большое. Я прочитал урок дальше, но там уже начинается изучение чего-то другого. Так что если бы не Вы, то я бы не смог понять, в чем проблема. Еще раз спасибо.
Булкин вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с созданием двумерного массива из объектов производных классов Vang Общие вопросы C/C++ 15 28.05.2010 17:04
С (Си) - интеграл 3-мя методами MR_Andrew Общие вопросы C/C++ 6 29.12.2009 23:24
С (Си) - корень 4-я методами MR_Andrew Общие вопросы C/C++ 26 16.12.2009 20:00
Проблема с задачей на использование классов (С++) N1KeL Помощь студентам 4 25.07.2009 23:58
Создание классов и использование объектов классов при написании программ в среде C++. Frozen inside Помощь студентам 0 16.04.2009 23:18