这是driver.cs中的驱动程序类

using System;
public class driver{
public static void Main(){
    int meth;
    calculator obj = new calculator();
    do
    {
        System.Console.WriteLine("1. Addition\n2.Subtraction\n3.Multiplication\n4. Division\n5. Mod\n6. Square Root");
        meth=int.Parse(Console.ReadLine());

        if (meth==1)
        {
            Console.WriteLine("Enter 1st Number=");
            double num1=double.Parse(Console.ReadLine());
            Console.WriteLine("Enter 2st Number=");
            double num2=double.Parse(Console.ReadLine());

            double answer = obj.addition(num1,num2);
        }
    } while (meth!=0);
}}


这是cal.cs中的计算器类

using System;
public class calculator{

double addition(double x,double y){
return x+y;
}

double subtraction(double x,double y){
return x-y;
}

double multiplication(double x,double y){
return x*y;
}

double division(double x,double y){
return x/y;
}

double mod(double x,double y){
 return x%y;
}

double squareRoot(double x){
return Math.Sqrt(x);
}
}


我已经使用创建了cal.dll文件


  CSC / target:library cal.cs


然后编译驱动程序类


  CSC /reference:cal.dll driver.cs


一切正常,除了

obj.addition(num1,num2);


在驾驶员舱
需要帮忙

最佳答案

您需要将您的方法公开,以使其可从其他类访问。显然,该错误消息不是很容易描述-当您尝试从类外部调用非公共方法时,也会给出CS1061。

public double Addition(double x, double y) {
    return x + y;
}


我还建议阅读naming conventions on capitalization

关于c# - 尽管我包含cal.dll,但无法在驱动程序类的Main方法中调用计算器类的添加方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33195237/

10-13 03:21