iT邦幫忙

0

c#屬性的問題

c#
匿名 2012-06-19 19:17:211596 瀏覽

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

namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
car BMW = new car();
BMW.Speed = 70;
Console.WriteLine("設定速度=70,現在速度={0}", BMW.Speed);
BMW.Speed = 40;
Console.WriteLine("設定速度=40,現在速度={0}", BMW.Speed);
BMW.Speed = 120;
int CurrentSpeed = BMW.Speed;
Console.WriteLine("設定速度=120,現在速度={0}", CurrentSpeed);
}
}
public class car
{
private int mSpeed;
public int Speed;
static int Speed
{
get
{
return Speed;
}
set
{
if (value < 60)
{
value = 60;
}
else if (value > 100)
value = 100;
mSpeed = value;
}
}
}
}

主控台:請問以上程式碼 為何我執行完會說 型別'ConsoleAppliction3.car以包含'Speed'的定義,請問屬性建立的語法結構是如何呢?

外獅佬 iT邦大師 1 級 ‧ 2012-06-22 23:16:45 檢舉
別太相信 intellisense ....還是努力把基礎觀念弄懂比較好~

1 個回答

4
外獅佬
iT邦大師 1 級 ‧ 2012-06-20 00:28:38
最佳解答

Orz您的Car已經有一個public int Speed的定義了....又定義一個static int Speed{get;set;}...驚

看更多先前的回應...收起先前的回應...
匿名 檢舉

可是我public int Speed的定義之後 他不給我作讀取 跟 寫入

匿名 檢舉

我public int Speed的定義之後 get set 就不能寫了

外獅佬 iT邦大師 1 級 ‧ 2012-06-21 22:33:52 檢舉

把Class定義改成這樣....

&lt;pre class="c" name="code">
public class car
{
  private int mSpeed;
  public int Speed
  {
    get
    {
      return mSpeed;
    }
    set
    {
      if (value &lt; 60)
      {
        mSpeed = 60;
      }
      else if (value > 100)
        mSpeed = 100;
    }
  }
}
}
外獅佬 iT邦大師 1 級 ‧ 2012-06-21 22:34:51 檢舉

Orz抱歉....多了一個右大括號Orz

匿名 檢舉

奇怪 我一開始也有跟你打過一樣的但是get 就是初步來 要用 static才出的來

我要發表回答

立即登入回答