トップ回答者
エラーの修正方法を調べたのですが、調べてもわからない状況です。

質問
-
表示されたエラー
CS1519
CS1031
CS1001
CS0103(エラーが4つある。)
太字がエラーのコードです。※はエラー内容です。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Gmailチェッカー
{
public partial class FormGMailCheck : Form
{
public FormGMailCheck()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
}
private void butStart_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
}
private int const = -1; ※ CS1519 CS1031 CS1001private void timer1_Tick(object sender, EventArgs e)
{
OpenPop.Pop3.Pop3Client client = new OpenPop.Pop3.Pop3Client();
client.Connect("pop.gmail.com", 995, true);
client.Authenticate(txtAddress.Text, txtPassword.Text); ※CS0103
int messageCount = client.GetMessageCount();
if(messageCount == -1)
{
count = messageCount; ※CS0103
}
for (int i = messageCount; i > count; i--) ※CS0103
{
textNewMail.Text += client.GetMessage(i).Headers.Subject +
Environment.NewLine;
notifyIcon1.BalloonTipIcon = ToolTipIcon.Info;
notifyIcon1.BalloonTipTitle = "メールが届きました。";
notifyIcon1.BalloonTipText = client.GetMessage(i).Headers.Subject;
notifyIcon1.ShowBalloonTip(3000);
}
count = messageCount; ※CS0103
}
}
}
- 移動 立花楓Microsoft employee, Moderator 2018年3月27日 4:07 .Net Framework > .NET Framework
回答
-
キーワードは、コンパイラで特別な意味を持つ、事前に定義されている予約済みの識別子です。 キーワードは、プレフィックスとして @ を含めない限り、プログラムで識別子として使用できません。
と説明されている通り、変数などの識別子として使うことはできません。
C#に限らず各言語にはキーワードが存在します。キーワードを変数名や関数名などの識別子として記述しても、コンパイラーとしては正しい構文であるという前提の元でソースコードを解析してしまうため構文が矛盾しているとしか指摘できません。今回の例であれば、ソースコードの各所でconstが指定されているとコンパイラーは「このconstはどういう意図で指定されているのか?」と考え込んでしまうわけです。
SurferOnWwwさんへ:
さすがにこの問題はエラー説明を読んでも原因に辿り着くのは困難だと思います。- 回答としてマーク Brain Machine Interface 2018年2月27日 2:23
-
> エラーの修正方法を調べたのですが、調べてもわからない状況です。
スペルミスとかよく見れば絶対に分かると思いますよ。分からないのは質問者さんの調べ方が足りないからでは?
こういうプリミティブな問題をここで聞いて答を得るより、自分で徹底的に調べて、自己解決したといういうのと比べると、学習効果には大きな差があるのではないでしょうか?
- 回答としてマーク Brain Machine Interface 2018年2月27日 2:23
すべての返信
-
> エラーの修正方法を調べたのですが、調べてもわからない状況です。
スペルミスとかよく見れば絶対に分かると思いますよ。分からないのは質問者さんの調べ方が足りないからでは?
こういうプリミティブな問題をここで聞いて答を得るより、自分で徹底的に調べて、自己解決したといういうのと比べると、学習効果には大きな差があるのではないでしょうか?
- 回答としてマーク Brain Machine Interface 2018年2月27日 2:23
-
キーワードは、コンパイラで特別な意味を持つ、事前に定義されている予約済みの識別子です。 キーワードは、プレフィックスとして @ を含めない限り、プログラムで識別子として使用できません。
と説明されている通り、変数などの識別子として使うことはできません。
C#に限らず各言語にはキーワードが存在します。キーワードを変数名や関数名などの識別子として記述しても、コンパイラーとしては正しい構文であるという前提の元でソースコードを解析してしまうため構文が矛盾しているとしか指摘できません。今回の例であれば、ソースコードの各所でconstが指定されているとコンパイラーは「このconstはどういう意図で指定されているのか?」と考え込んでしまうわけです。
SurferOnWwwさんへ:
さすがにこの問題はエラー説明を読んでも原因に辿り着くのは困難だと思います。- 回答としてマーク Brain Machine Interface 2018年2月27日 2:23
-
ご指摘ありがとうございます。
早速、チェックをしたところTextBoxのNameにスペルミスがありました。
Gmailチェッカーは無事に動作しています。
今後も何卒、よろしくお願いします。
- 回答としてマーク Brain Machine Interface 2018年2月27日 2:23
- 回答としてマークされていない Brain Machine Interface 2018年2月27日 2:23