C# 如何在C中访问struct内部的函数#
不能使用实例调用静态方法。您有一个静态方法,所以用struct调用它,而不是用struct实例调用它C# 如何在C中访问struct内部的函数#,c#,C#,不能使用实例调用静态方法。您有一个静态方法,所以用struct调用它,而不是用struct实例调用它 class Program { public struct course { public string name; public int elecode; public int credit; public static void getdetails() { Conso
class Program
{
public struct course
{
public string name;
public int elecode;
public int credit;
public static void getdetails()
{
Console.WriteLine("Enter your Name");
Ele.name = Console.ReadLine();
}
}
static void Main(string[] args)
{
course ele;
ele.getdetails();
}
}
即使没有
类已创建。静态成员始终由
类名,而不是实例名
阅读更多有关此MSDN文章的静态信息
getdetails
不应该是静态的Ele.
内部getdetails
课程要素
变量course.getdetails();
正如@DavidHeffernan在关于糟糕设计的评论中提到的那样,除非您真正理解C#中的
struct
和class
之间的区别,否则您必须知道在哪里使用class
而不是struct
来逃避问题,人们通常应该坚持使用class
。我知道这与问题无关,但我仍然建议您通读命名指南,通过方法调用改变结构是糟糕的设计。谢谢,答案中提到了这一点
class Program
{
public struct course
{
public string name;
public void getdetails()
{
Console.WriteLine("Enter your Name");
name = Console.ReadLine();
}
}
static void Main(string[] args)
{
course ele = new course();
ele.getdetails();
}
}