Как можно определить прототип свойства в классе - 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; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д