1. ホーム
  2. c#

[解決済み] メンバ名を内包する型と同じにすることはできない C#.

2022-02-09 17:30:06

質問

以下のコードはC#で、Visual Studio 2010を使用しています。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;

namespace FrontEnd
{
    class Flow
    {
        long i;
        private int x,y;
        public int X
        {
            get;set;
        }
        public int Y
        {
            get;set;
        }

        private void Flow()
        {
            X = x;
            Y = y;
        }

        public void NaturalNumbers(int x, int y)
        {
            for (i = 0; i < 9999; i++)
            {
                Console.WriteLine(i);
            }
            MessageBox.Show("done");
        }
    }
}

上記のコードをコンパイルすると、このようなエラーが発生します。

エラー: 'フロー': メンバーの名前は、それを囲む型と同じにはできません。

なぜですか、どうすれば解決できますか?

どのように解決するのですか?

クラス名と同じメソッド名を持つメソッドは コンストラクタ . コンストラクタは戻り値の型を持ちません。だから、として正しい。

private Flow()
{
   X = x;
   Y = y;
}

または、関数の名前を次のように変更します。

private void DoFlow()
{
   X = x;
   Y = y;
}

しかし、このコード全体は私には何の意味もありません。