这是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/