如何从其他类的静态方法调用非静态方法?

时间:2016-10-20 17:07:32

标签: c# .net oop static

我想从位于不同类中的静态方法调用非静态方法。我知道我想从中调用方法的类的实例,但是我无法访问它。

Sub t()
Dim numStart As Long, numEnd As Long, i As Long, nextRow As Long
numStart = 1
numEnd = 66
nextRow = 1

With Worksheets("Display")
    For i = numStart To numEnd    ' From column A to I (1 to 9)
        .Range(.Cells(nextRow, 1), .Cells(nextRow + 8, 1)).Value = i
        nextRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
    Next i
End With
End Sub

1 个答案:

答案 0 :(得分:5)

您无法在静态上下文中访问非静态上下文。

您可以(define (delduplicates L) (cond ((null? L) '()) ((list? (member (car L) (cdr L))) (delduplicates(cdr L))) (#T (cons (car L) (delduplicates (cdr L)))))) (delduplicates '(1 1 2 3 3 4 4 5)) > (1 2 3 4 5) 静态

_mainform

或将要测试的实例传递给static MainForm _mainform = null; 方法

Test

或使public static void Test(MainForm mainForm) { mainForm.DoSmth("test"); } 非静态

Test

除此之外,你应该修改你的设计。想想这些问题。如果我有静态方法,为什么它应该访问实例成员?如果一个方法应该访问实例成员那么为什么它应该是静态的?