【问题标题】:Calling method from different class in same library, errors about object reference从同一个库中的不同类调用方法,关于对象引用的错误
【发布时间】:2016-03-11 15:10:51
【问题描述】:

我为一个新库写了代码,大部分代码都在下面

public class Locked

大多数图形功能都在其中。 但是,我还提供了一些特定的奇异数学作为与 Magic Math 相同的 dll 中的单独命名空间,这些函数不像 Locked 下的每个函数一样是私有的。

public class MagicMath

Locked 类中的一些函数需要 MagicMath 所以我称它们为

MagicMath.ResizeDataSet(...

这会报错非静态字段、方法或属性需要对象引用

   'MagicMath.ResizeDataSet( SortedDictionary <int, List<int>>, int, int)'  

我在这里有点困惑,因为 MagicMath 中的那些函数被识别,它们的参数被接受,当从 Locked 类的代码中调用时,我只在函数文本 (ResizeDataSet) 下得到一条红线。 怎么了?

【问题讨论】:

    标签: c# class dll


    【解决方案1】:

    您可以将“Locked”中调用“MagicMath”的方法设置为static,以及调用的MagicMath 方法或创建MagicMath 的实例。

    看看static 是什么意思,用微软的话来说什么时候使用它。

    使用static修饰符声明一个静态成员,它属于 类型本身而不是特定对象。静态修饰符 可以与类、字段、方法、属性、运算符一起使用, 事件和构造函数,但不能与索引器一起使用, 析构函数,或类以外的类型。

    【讨论】:

    • hm 添加 static like 'public static SortedDictionary> ResizeDataSet(SortedDictionary
    • 这取决于它的使用方式。没有硬性规定。希望这会有所帮助:stackoverflow.com/questions/241339/… 如果您的初始问题已得到解决,请将此标记为答案。
    • 啊我想我现在明白了,图形类围绕着一个图形对象(主代码创建它的一个实例),而数学函数只是函数,而不是对象..
    猜你喜欢
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-22
    相关资源
    最近更新 更多