You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# Blazor静态方法无法识别,如何正确调用?

静态方法调用错误排查与解决

问题场景

我定义了如下静态类及静态方法:

public static class ValidationHelper
{
    public static StringBuilder BookingKeyInfoValidation(ViewBookingDTO SelectedBooking)
    {
        StringBuilder errMsg = new StringBuilder();
        // ... 方法实现代码
    }
}

随后在非静态方法中尝试调用该方法:

StringBuilder errMsg = ValidationHelper.BookingKeyInfoValidation(SelectedBooking);

但收到错误提示:

'ValidationHelper' does not contain a definition for 'BookingKeyInfoValidation'

排查与解决步骤

  • 核对命名空间:确保调用代码所在类与ValidationHelper处于同一命名空间,或已通过using指令引入目标命名空间。若未引入,可添加using 目标命名空间;,或使用完全限定名调用:目标命名空间.ValidationHelper.BookingKeyInfoValidation(SelectedBooking);
  • 确认方法访问权限:检查BookingKeyInfoValidation的访问修饰符是否为public,若为internal,则调用代码必须与静态类处于同一程序集内。
  • 匹配参数类型:验证调用时传入的SelectedBooking参数类型,是否与方法定义的ViewBookingDTO完全一致(包括所属命名空间),避免传入相似但不同的DTO类型。
  • 检查项目引用与编译状态:若ValidationHelper在其他项目中,确保调用方项目已正确引用该项目,且两个项目均无编译错误。
  • 清理缓存重新编译:清理项目的bin/obj目录后,重新生成整个解决方案,排除编译缓存导致的异常。

内容的提问来源于stack exchange,提问作者bilpor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 20:33:08