c# - 为什么我需要在 Razor 中使用相同的两次?

标签 c# razor blazor

我有一个index.razor 文件和一个index.razor.cs 文件。

索引.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 ();
    }
}

这只是一个示例。但我有一个真实的案例,需要在两个部分中使用。

当我删除 Razor 部分的其中一项用途时,它就不再起作用了。为什么当它是分部类时我需要使用两次?

最佳答案

因为 using <namespace>指令适用于它所在的编译单元。这意味着文件。

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

没有任何特定于 Blazor 的内容,这是基础 C#。

关于c# - 为什么我需要在 Razor 中使用相同的两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76064651/

相关文章:

c# - View 的@Model、ViewDataDictionary、ViewData 和ViewBag 是如何相互关联的?

c# - 使用 Blazor <InputSelect> 会发出警告 : Element 'option' cannot be nested inside element 'p'

signalr - 为什么多次收到此 SignalR 消息?

.net - 支持 docker 的 Blazor WebAssembly 应用程序 (linux)

c# - WPF - 具有多重绑定(bind)的工具提示

c# - 从 C# 中的另一个子窗体调用一个子窗体

c# - 即使项目在 Razor html 中成功构建,Visual Studio 也会显示错误

c# - 在 Razor View 中有条件地更改 CSS 类

c# - 如何在 Xamarin 中使用 DLLIMPORT?

c# - 在 TFS 构建服务器上运行单元测试 Fakes Framework |错误