2016-01-27 17 views
0

編譯我的應用程序時,我得到了以下錯誤:對象REFFERENCE的科目編號用於非靜態字段,方法或屬性

對象REFFERENCE的科目編號用於非靜態字段,方法或屬性

這是代碼:

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

namespace ConsoleOpener 
{ 
    class Program 
    { 
     public static int casse; 
     Random rnd = new Random(); 
     public static int openIt(int casse) 
     { 
      Int32 skin = 0; 
      if (casse==1) 
      { 
       skin = rnd.Next(1, 3); 
      } 
      return skin; 
     } 


     public static void Main(string[] args) 
     { 
      Console.WriteLine("Choose one of cases:"); 
      Console.WriteLine("1. TEST CASE"); 
      int casse = Console.Read(); 
      openIt(casse); 
     } 
    } 
} 

我怎樣才能解決這個問題? 編輯 - 請......我不會寫這個,如果我找到答案。大家都說(設置爲靜態的東西,但幾乎所有的東西現在是靜態

+1

你需要'rnd'是'static'也 – HimBromBeere

+2

在未來,請複製並粘貼錯誤,而不是重新輸入 - 它會避免錯別字,這將幫助您搜索重複項。 –

回答

0

可以通過聲明你的Random rnd;參數爲static解決這個問題:

static Random rnd = new Random(); // declaring rnd as static 
public static int openIt(int casse) 
{ 
    Int32 skin = 0; 
    if (casse==1) 
    { 
     skin = rnd.Next(1, 3); 
    } 
    return skin; 
} 
+0

是的,謝謝。它工作但其他1個同樣錯誤,但與ConsoleOpener.Program.openIt(int) – Mudzay

相關問題