我有一个Index.razor文件和一个Index.razor.cs文件.

Index.razor

@page "/"
@using BlazorApp8.Data

<h3>Index</h3>
<ComponentX></ComponentX>

Index.razor.cs

//same story having the using outside of the namespace
//using BlazorApp8.Data; 
namespace BlazorApp8.Pages
{
    using Data;

    public partial class Index
    {
        public ComponentX ComponentX { get; set; } = new ();
    }
}

这只是一个样品.但我有一个真实的 case ,需要在两个部分都使用.

当我移除剃须刀部分的一个用法时,它就不再起作用了.为什么当它是部分类时,我需要使用两次?

推荐答案

因为using <namespace>指令适用于它所在的compilation unit.也就是说,这份文件.

编译器将分部类定义合并到一个类中,但它们保留在单独的编译单元中.

这不是Blazor所特有的,这是Basis C#.

Csharp相关问答推荐

如何打印已添加到List的Linq值,而不是C#中的:System.Collections.Generic.List ' 1[System.Int32]?

使用其可能实现的基类和接口的属性的方法

如何阻止注释被包含在C#release build. exe中

`Task`只有在C#中等待时才会运行吗?

在C#WinUI中,一个关于System的崩溃."由于未知原因导致执行不例外"

实体核心框架--HasColumnType和HasPrecision有什么不同?

如果属性名为xyz,我需要使用System.Text.Json修改字符串类型的值""<>

C#DateTime.ToString在ubuntu和centos中返回不同的结果

为什么任务需要在内部使用ManualResetEventSlim?

默认情况下,.NET通用主机(Host.CreateDefaultBuilder)中是否包含UseConsoleLifetime?

如何从ASP.NET核心MVC视图和Blazor传递数据

如果设置了另一个属性,则Newtonsoft JSON忽略属性

如何将端点(或с匹配请求并判断其路径)添加到BCL?

具有以接口为其类型的属性的接口;类指定接口的实现,但无效

为什么我可以用硬编码的集合而不是变量来设置没有setter的IList属性的值?

JsonSchema.Net删除假阳性判断结果

如何更改新创建的实例的变量?

CRL已过期,但ChainStatus告诉我RevocationStatus未知

使用动态键从请求体反序列化JSON

我的命名管道在第一次连接后工作正常,但后来我得到了System.ObjectDisposedException:无法访问关闭的管道