Как можно определить прототип свойства в классе - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, у меня есть несколько вопросов насчет строения классов в C#: 1) Могу ли я как в С++ написать в классе в одном файле только прототип функции, а саму функцию расписать уже в другом файле 2) Как можно определить прототип свойства в классе Заранее спасибо!

Решение задачи: «Как можно определить прототип свойства в классе»

textual
Листинг программы
using System;
using System.Windows.Forms;
using Snake.GameSource;
 
// ReSharper disable InconsistentNaming
 
namespace Snake.Forms
{
    public partial class MainForm : Form
    {
        private int _level = 1;
        private bool _isGameOver;
        private string _playername = "Unknown";
 
        public MainForm()
        {
            InitializeComponent();
        }
 
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
                exit.PerformClick();
            else if (e.KeyCode == Keys.P)
                PauseItem.PerformClick();
            else
                Game.SetDirection(e.KeyCode);
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            NewGame();
            Height = picturebox.Bottom + 56;
            if (MessageBox.Show("Для выбора нового имени нажмите Ок. Для игры под стандартным именем нажмите отмена", "", MessageBoxButtons.OKCancel) == DialogResult.OK)
                setPlayerNameToolStripMenuItem.PerformClick();
            Game.GameOverEventHandler += OnGameOverEventHandler;
            Game.GameStepEventHandler += RefreshForm;
            NewGame();  //Двойная инициализация неспроста (иначе крашится на попытке открыть AskForm)
            MaximumSize = MinimumSize = Size;
        }
 
 
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            Game.SaveRecords();
        }
 
        private void OnGameOverEventHandler(object sender, EventArgs e)
        {
            _isGameOver = true;
            if (MessageBox.Show("Game Over.", "Again?", MessageBoxButtons.YesNo) == DialogResult.Yes)
                NewGame();
        }
 
        private void RefreshForm(object sender, Game.GameEventArgs e)
        {
            label1.Text = e.Score;
            picturebox.Image = e.Map;
        }
 
        private void NewGame()
        {
            _isGameOver = false;
            pauseLabel.Visible = false;
            Game.New(picturebox.Size, _level, zoomToolStripMenuItem.Checked,_playername);
        }
 
        #region menu
 
        private void PauseItem_Click_1(object sender, EventArgs e)
        {
            if (_isGameOver) return;
            pauseLabel.Visible = !pauseLabel.Visible;
            Game.PauseUnapuse();
        }
 
        private void New_Click(object sender, EventArgs e)
        {
            NewGame();
        }
 
        private void exit_Click(object sender, EventArgs e)
        {
            if (!pauseLabel.Visible)
                PauseItem.PerformClick();
            if (MessageBox.Show("Вы уверены, что хотите выйти", "", MessageBoxButtons.YesNo) == DialogResult.Yes)
                Application.Exit();
        }
 
        private void zoomToolStripMenuItem_Click(object sender, EventArgs e)
        {
            zoomToolStripMenuItem.Checked = !zoomToolStripMenuItem.Checked;
            NewGame();
        }
        
        #region levels
 
        private void UncheckLevels()
        {
            level1SubItem.Checked = level2SubItem.Checked = level3SubItem.Checked = false;
        }
 
        private void ChangeLevel(ToolStripMenuItem checkBox)
        {
            UncheckLevels();
            checkBox.Checked = true;
            _level = Convert.ToInt32(checkBox.Tag);
            NewGame();
        }
 
        private void level1SubItem_Click(object sender, EventArgs e)
        {
            ChangeLevel(level1SubItem);
        }
 
        private void level2SubItem_Click(object sender, EventArgs e)
        {
            ChangeLevel(level2SubItem);
        }
 
        private void level3SubItem_Click(object sender, EventArgs e)
        {
            ChangeLevel(level3SubItem);
        }
 
        private void level4SubItem_Click(object sender, EventArgs e)
        {
            ChangeLevel(level4SubItem);
        }
 
        #endregion
 
        private void recordsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!_isGameOver) PauseItem.PerformClick();
            new RecordsForm(Game.GetRecords(), Game.ColNames).ShowDialog();
        }
 
 
 
        #endregion
 
        private void setPlayerNameToolStripMenuItem_Click(object sender, EventArgs e)
        {
            PauseItem.PerformClick();
            new AskForm(_playername, SetPlayerName).ShowDialog();
        }
 
        private void SetPlayerName(string playername)
        {
            _playername = playername;
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы