【问题标题】:How to access method by using properties in c#?如何通过使用 c# 中的属性来访问方法?
【发布时间】:2019-05-28 12:30:09
【问题描述】:

我会给你一个例子来理解我的问题。 transform.translate()transform 是属性,translate 是方法) 但是transform怎么能访问到translate

例子:

 class ExampleClass
        {

            public int exampleprop
            { get; }
            public void examplemethod()
            {

            }

        }

我想做那样的:exampleprop.examplemethod()

有没有办法做到这一点。

(这就是我问这个问题的原因是有一种统一的代码行称为transfom.translate。我无法理解。)

【问题讨论】:

  • 你能给我们更多的代码来帮助我们理解你在问什么吗?你的问题很难理解。
  • 现在我做到了...
  • 你的例子没有意义。您的属性exampleprop 返回类型为int。访问该属性后可用的方法将是 int 可用的任何方法(不多)。您的 examplemethod 是 CLASS ExampleClass 的一个方法。如果您希望能够访问examplemethod,那么您的属性必须返回ExampleClass 类型:public ExampleClass exampleprop
  • 无法为exampleprop 调用examplemethod。唯一可行的方法是当属性的类型是对象时。

标签: c# methods properties


【解决方案1】:

在您的示例中,exampleprop.examplemethod() 无效,因为 exampleprop 是一个 int,并且 int 没有名为 exampleprop 的方法。

您访问examplemethod() 的方式是首先创建一个ExampleClass 类型的新对象,然后正常访问examplemethod()。这是一个例子:

class ExampleClass {
    public void ExampleMethod() {
        // code for example method goes here.
    }
}

然后您需要在某个地方“新建”ExampleClass 并调用 ExampleMethod 方法。

ExampleClass foobar = new ExampleClass();
foobar.ExampleMethod();

【讨论】:

  • 感谢您的评论。但是有什么方法可以在不创建对象的情况下访问?
  • 如果方法是静态的,则不需要对象实例。
  • 斯科特,非常感谢。这就是我要说的。
猜你喜欢
  • 2021-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多