如何让类中的方法调用另一个方法?

2023-11-21

现在我有两节课allmethods.cs and caller.cs.

我在课堂上有一些方法allmethods.cs。我想写代码caller.cs为了调用某个方法allmethods class.

代码示例:

public class allmethods
public static void Method1()
{
    // Method1
}

public static void Method2()
{
    // Method2
}

class caller
{
    public static void Main(string[] args)
    {
        // I want to write a code here to call Method2 for example from allmethods Class
    }
}

我怎样才能做到这一点?


因为Method2是静态的,你所要做的就是像这样调用:

public class AllMethods
{
    public static void Method2()
    {
        // code here
    }
}

class Caller
{
    public static void Main(string[] args)
    {
        AllMethods.Method2();
    }
}

如果它们位于不同的命名空间中,您还需要添加以下命名空间AllMethods到 caller.cs 中using陈述。

如果您想调用实例方法(非静态),则需要类的实例来调用该方法。例如:

public class MyClass
{
    public void InstanceMethod() 
    { 
        // ...
    }
}

public static void Main(string[] args)
{
    var instance = new MyClass();
    instance.InstanceMethod();
}

Update

从 C# 6 开始,您现在还可以通过以下方式实现此目的using static指令可以更优雅地调用静态方法,例如:

// AllMethods.cs
namespace Some.Namespace
{
    public class AllMethods
    {
        public static void Method2()
        {
            // code here
        }
    }
}

// Caller.cs
using static Some.Namespace.AllMethods;

namespace Other.Namespace
{
    class Caller
    {
        public static void Main(string[] args)
        {
            Method2(); // No need to mention AllMethods here
        }
    }
}

进一步阅读

  • 静态类和静态类成员(C# 编程指南)
  • 方法(C# 编程指南)
  • using static指令(C# 参考)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让类中的方法调用另一个方法? 的相关文章

  • 元组在 VS2012 中如何工作?

    Visual Studio 2012 功能 tuples但不是可变参数模板 这是如何完成的 如何在不使用可变模板的情况下实现元组 简而言之 微软做了与之前在 NET 中实现类似元组的数据类型完全相同的事情 创建许多版本 每个版本都有固定数量
  • 进程退出后 POSIX 名称信号量不会释放

    我正在尝试使用 POSIX 命名信号量进行跨进程同步 我注意到进程死亡或退出后 信号量仍然被系统打开 在进程 打开它 死亡或退出后是否有办法使其关闭 释放 早期的讨论在这里 当将信号量递减至零的进程崩溃时 如何恢复信号量 https sta
  • 将设置函数(setter)标记为 constexpr 的目的是什么? [复制]

    这个问题在这里已经有答案了 我无法理解将 setter 函数标记为的目的constexpr 自 C 14 起这是允许的 我的误解来自以下情况 我使用 constexpr c tor 声明一个类 并且我将通过创建该类的 constexpr 实
  • 全局使用和 .NET Standard 2.0

    我最近意识到我可以使用 C 10 功能文件范围的命名空间在 NET Standard 2 0 项目中也可以通过设置
  • C# 编译器数字文字

    有谁知道 C 编译器数字文字修饰符的完整列表 默认情况下 声明 0 使其成为 Int32 声明 0 0 使其成为 Double 我可以在末尾使用文字修饰符 f 来确保某些内容被视为 Single 例如像这样 var x 0 x is Int
  • 如何使用 Roslyn 通过扩展方法、静态类中的方法以及带有 ref/out 参数的方法来访问调用

    我正在致力于创建一个开源项目 用于创建 NET UML 序列图 该项目利用名为 js sequence diagrams 的 javascript 库 我不确定 Roslyn 是适合这项工作的工具 但我想我应该尝试一下 所以我整理了一些概念
  • 如何在win32中使用GetSaveFileName保存文件?

    我编写此代码是为了获取 fileName 来保存我的文件 include stdafx h include
  • 用于连接 DataTable 上的动态列的动态 LINQ

    我目前遇到的情况不确定如何继续 我有两个从数据库填充的数据表 我还有一个可用的列名称列表 可用于将这两个数据表连接在一起 我希望编写一组 LINQ 查询 这些查询将 显示两个数据表中的行 内部联接 用于从一个数据表更新另一个数据表 显示一个
  • Xamarin - SignalR 挂在连接上

    我正在尝试将我的 Xamarin 应用程序连接到托管在 Azure 上的 SignalR 后端 我遇到的问题是每次我在 HubConnection 上调用 StartAsync 时 它都会挂起客户端并且请求永远不会完成 我尝试通过应用程序进
  • 将错误代码映射到 C++ 中的字符串

    将错误代码从枚举映射到字符串的更有效方法是什么 在 C 中 例如 现在我正在做这样的事情 std string ErrorCodeToString enum errorCode switch errorCode case ERROR ONE
  • C++ 到 C# 事件处理

    所以我有我的C WinForm 应用程序 我从中调用我的C CLI MFC dll图书馆 但也有一些events在我的 C 库上 甚至此事件也发生在该库的本机 非 CLI 部分 我需要从我的 C 应用程序调用一些代码 并获取一些有关此事件的
  • 如何使用 CSI.exe 脚本参数

    当你运行csi exe 安装了 Visual Studio 2015 update 2 您将得到以下语法 Microsoft R Visual C Interactive Compiler version 1 2 0 51106 Copyr
  • ALTER TABLE ... ADD CONSTRAINT 失败时将事务回滚到保存点

    有没有办法在事务中添加检查约束and如果失败回滚到以前的保存点 而不是回滚整个事务 就我而言 当 ALTER TABLE ADD CONSTRAINT 命令失败时 事务无法回滚到保存点 尝试这样做会引发 InvalidOperationEx
  • 使用 xslt 将 xml 转换为 xsl-fo 时动态创建超链接?

    我想使用 xsl 文件在 PDF 报告中创建标题 如果源文件包含超链接 则应将其呈现为超链接 否则呈现为纯文本 例如 我的 xml 如下所示 a href http google com target blank This is the h
  • 如何在dll级别读取app.config? [复制]

    这个问题在这里已经有答案了 我在一个解决方案中有一个控制台应用程序项目和库项目 dll The 图书馆项目有 app config 文件 我在其中存储我在库中使用的一些键值对 控制台应用程序引用此 dll 我有另一个 app config
  • 在哪里可以下载没有 Visual Studio 2010 的 C# 4.0 编译器?

    我知道 CTP VS 2010 映像 但我可以只下载 NET Framework 4 0 和 C 编译器吗 AFAIK VS 2010 CTP 仅作为 VM 映像提供 我不相信 Microsoft 发布了 VS 的安装程序 其中一个绝对不适
  • 如何将 int 作为“void *”传递给线程启动函数?

    我最初有一个用于斐波那契变量数组的全局变量 但发现这是不允许的 我需要进行基本的多线程处理并处理竞争条件 但我无法在 pthread 创建中将 int 作为 void 参数提供 我尝试过使用常量指针 但没有成功 由于某些奇怪的原因 void
  • 使用 C# 动态创建按钮并按预定义的顺序放置它们

    NET 4 5 C 创建 Windows 窗体 我想动态创建和添加按钮并为其分配单击事件 但希望它们以特定的方式动态放置 就像图像一样 我的问题是如何以上述方式动态放置按钮 即 4x4 格式 一行 4 个按钮 4 列 但行数不受限制 是否可
  • 为什么表达式 a = a + b - ( b = a ) 在 C++ 中给出序列点警告?

    以下是测试代码 int main int a 3 int b 4 a a b b a cout lt lt a lt lt a lt lt lt lt b lt lt b lt lt n return 0 编译此命令会出现以下警告 gt g
  • C++ Boost ASIO 简单的周期性定时器?

    我想要一个非常简单的周期性计时器每 50 毫秒调用我的代码 我可以创建一个始终休眠 50 毫秒的线程 但这很痛苦 我可以开始研究用于制作计时器的 Linux API 但它不可移植 I d like使用升压 我只是不确定这是否可能 boost

随机推荐

  • 如何调整图像“内部”的标签 Xamarin Forms

    I m trying to put a label inside of my image I couldn t use a Margin property because some reason it s not working until
  • android: 为什么 getrotationmatrix 返回 false?

    我想获得手机的方向 并且我使用了这个代码 我发现很多人都在使用它 这是代码 public void onSensorChanged SensorEvent event if the data sensor is unreliabel if
  • 如何在 Pandas 中按子级索引进行过滤

    我有一个 df 它有一个多级索引 STK ID RPT Date sales cogs net pft STK ID RPT Date 000876 20060331 NaN NaN NaN 20060630 857483000 72954
  • URL 中的多个片段标识符是否正确?

    我偶然发现了一个在 URL 中使用多个片段标识符的网站 例如http www ejeby se newprodukt produkt 1075 1 不 这不是我的网站 但我链接到它 这给我带来了问题 但这真的正确吗 它似乎确实会给 Safa
  • 如何在 yii2 中进行 Json 编码?

    尝试编码 json 并接收400 Bad Request in yii2 我正在尝试在 Rest 客户端中进行编码 但它无法正常工作
  • 以 HTML 格式显示 CSV 文件

    我正在尝试将带有标题的本地 CSV 文件导入本地 HTML 文件 然后该文件将在浏览器中显示为表格 我学习 HTML 和 JavaScript 的时间不长 所以对导入和转换了解不多 我需要的是一些建议 或者可能是描述我需要的功能类型的基本脚
  • 访问器:设置器不起作用

    我正在使用 Javascript 访问器属性 我从零开始学习 javascript 尝试为一个简单的对象创建 getter 和 setter 这里是代码 var dummy name empty description static des
  • 任务数据流,数据块可以从完成状态更改吗?

    我想知道是否可以改变数据块的完成状态 例如 我标记了一个var block new BufferBlock
  • 使用 Numpy 在 Python 中对浮点数进行舍入误差

    我遇到了一个问题 我认为这与使用浮点数和精度有关 但我不太熟悉所涉及的各种复杂问题 我是一个数学家 在我看来 我可能还只是在黑板上处理小数 我将开始研究这一点 但与此同时 我想知道是否有任何使用浮点数的通用技术可以解决我将在下面概述的问题
  • 包依赖

    我有一个巨大的 Java 应用程序 其中包含许多包 这些包中的某些类依赖于其他包中的类 给定一个类 我想知道它的所有依赖类 反之亦然 GUI 工具应该非常有帮助 There s 这里描述了一些有用的工具用于 免费 Eclipse IDE 还
  • 关闭应用程序的计时器

    如何在 C 中制作一个强制应用程序在指定时间关闭的计时器 我有这样的事情 void myTimer Elapsed object sender System Timers ElapsedEventArgs e if counter 120
  • Flutter 如何使用 AssetBundle 存储和访问文件

    EDIT 这个问题是关于使用 AssetBundle 的 而那个问题 flutter 中的文件列表 是关于使用目录 因为阶级不同 所以他们也不同 另外 我删除了一个部分 这可能与上一个问题类似 假设您有一张图像clock png在资产 图像
  • Python 3,将存储二进制数据的字符串转换为 Int

    我有等于 0b11001010 的变量 Number 我希望它是 int 类型 就像存储普通二进制文件一样 例如0b11001010 Number 0b11001010 NewNumber 0b11001010 有没有一种非常简单的方法而我
  • Symfony2 中的重定向和阻止缓存

    我正在这样做 domain com route name do something 1 它设置一个 cookie 然后使用 302 重定向重定向到此 domain com route name 无论页面查看如何 它都允许执行操作 cooki
  • 如果 PHP 页面上的 MySQL 连接持续不关闭会发生什么?

    在每个 PHP 页面的开头 我打开与 MySQL 的连接 在整个页面中使用它 并在页面末尾关闭它 但是 我经常在页面中间重定向到另一个页面 因此在这些情况下连接不会关闭 我知道这对 Web 服务器的性能来说并不坏 因为 PHP 无论如何都会
  • 结构的快速序列化/反序列化

    我有大量的地理数据 以仅由结构组成的简单对象结构表示 我的所有字段都是值类型 public struct Child readonly float X readonly float Y readonly int myField public
  • Bootstrap popover.toggle() 仅显示

    我正在尝试集成 twitter bootstrap popover 我被迫使用 javascript API 因为一些动态元素是通过 Ajax 加载的 也应该做出反应 基本上 这是一个应该做出反应的示例标签 a href class pop
  • 在运行时扫描Java注释

    如何在整个类路径中搜索带注释的类 我正在创建一个库 并且希望允许用户注释他们的类 因此当 Web 应用程序启动时 我需要扫描整个类路径以查找某些注释 我正在考虑 Java EE 5 Web 服务或 EJB 的新功能 您用以下方式注释您的课程
  • 如何重载 JavaScript 对象的运算符相等

    我已经使用 Dojo declare 创建了新对象 如何重载对象的运算符 你不能超载 but 有一个隐含的 toString 打电话 所以无论如何 toString 回报将让你有效地超载 有点 function foo foo protot
  • 如何让类中的方法调用另一个方法?

    现在我有两节课allmethods cs and caller cs 我在课堂上有一些方法allmethods cs 我想写代码caller cs为了调用某个方法allmethods class 代码示例 public class allm