是否可以为正在使用的项目创建私有的Blazor组件?
例如,让我们看一下Razor类库ProjectOne
,其中包含两个组件:组件ComponentA
和组件ComponentB
。组件ComponentB
是组件ComponentA
的子代。
ProjectOne
结构:
ProjectOne
----组件
---------- ComponentA.razor
---------- ComponentB.razor
还有另一个项目是Blazor应用程序ProjectTwo
。该项目中有一个对ProjectOne
的引用。在剃须刀页面中调用组件ComponentA
时,子组件ComponentB
也是可见且可访问的。
是否有一种方法可以仅在项目ComponentB
中在组件ProjectOne
中使用它的内部创建子组件ComponentA
?
答案 0 :(得分:1)
看起来子组件需要公开,而不是将其放在另一个项目中,我只是将其放在更深的名称空间中。
如果我要公开公开的根组件位于
MyApp.Components.Widget
然后我将子组件放入
MyApp.Components.Widget.Internal
无需再进行其他项目即可获得与先前回答中类似的结果,我们认为最好的方法是对其进行模糊处理,而不是使其成为“内部”或“私有”。
答案 1 :(得分:0)
可能不理想,但创建另一个项目来支持您的公共项目,并且只能由您的公共项目引用。您的使用项目仅引用您的公共项目。因此,以您为例,它将变为...
(不幸的是,您仍然需要引用ProjectTwo(应用程序项目)中的“内部使用”项目,但至少在命名空间中的命名中将其标记为内部使用)