2016-04-22 68 views
-1

我有mz test的問題..Class1'沒有包含'Function'的定義,也沒有接受類型'Class1'的第一個參數的擴展方法'Function' '可以找到(你是否缺少一個使用指令或程序集引用?)ClassTestProject2c#tests Class1'不包含'Function'的定義

我添加了對我的類Class1的引用到測試庫和對象都很好這裏是我的代碼我是新來的C#所以我可能沒有做我應該做的事情sobebodz有一些想法?謝謝:)

測試:

using System; 
using Microsoft.VisualStudio.TestTools.UnitTesting; 
using ClassLibrary1; 

namespace ClassTestProject2 
{ 
    [TestClass] 
    public class UnitTest1 
    { 
     [TestMethod] 
     public void TestMethodPlus() 
     { 
      double number1 = 9.0; 
      double number2 = 1.0; 
      string op = "plus"; 
      double expected = 9.0; 
      Class1 count = new Class1(); 
      double actual = count.Function(number1, number2, op); 
      Assert.AreEqual(expected, actual); 
     } 
    } 
} 

這裏是我的類:

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

namespace ClassLibrary1 
{ 
    public class Class1 
    { 
     public static double Function(double num1, double num2, string op) 
     { 
     double finRes = 0; 
     if (op == "plus") 
     { 
      finRes = num1 + num2; 
     } 
     else if (op == "minus") 
     { 
      finRes = num1 - num2; 
     } 
     else if (op == "multiple") 
     { 
      finRes = num1 * num2; 
     } 
     else if (op == "divide") 
     { 
      finRes = num1/num2; 
     } 
     else if (op == "exp") 
     { 
      finRes = Math.Pow(num1, num2); 
     } 
     else if (op == "fac") 
     { 
      double result = num1; 
      for (double i = (num1) - 1; i > 0; i--) 
      { 
       result = result * i; 
       finRes = result; 
      } 
     } 
     else if (op == "sqrt") 
     { 
      finRes = Math.Sqrt(num1); 
     } 
     return finRes; 
    } 
} 
} 
+3

功能是靜態的。你不用你的實例化類來調用它,你用Class1.Function(...) – oppassum

+1

來調用它,以防萬一:'1.0 + 9.0!= 9.0' –

回答

3

您聲明Function爲靜態的,這意味着它只能作爲「Class1.Function引用(... )`,但不是來自Class1的實例。

+0

那麼我該怎麼做? – krakra

+0

在這種情況下,可能會刪除'count'變量並使用'Class1.Function(...)'。只有當實例具有狀態(例如局部變量)和/或取決於該狀態的行爲時,纔會創建實例。 –

+0

我做了裝置,但它仍然寫入錯誤'Class1'不包含'Function'的定義 – krakra