我正在开发Windows Runtime Component项目,该项目必须向外界公开几个控件。我想使用Design View Models,所以我有类似的东西:
public sealed class FirstPanelDesignViewModel
{ ... }
它在设计时可以正常工作,但是这个类也暴露在其项目的外部世界中,这是不可取的。所以我可以像这样修改它:
internal class FirstPanelDesignViewModel
{ ... }
但是现在Designer(打开的.xaml文件)抱怨它无法访问该类并且渲染不再发生:
The name "FirstPanelDesignViewModel" does not exist in the namespace "using:SomeProject.DesignViewModels".
有没有办法在Windows运行时组件中使用设计视图模型而不将其暴露在外?
答案 0 :(得分:0)
我猜你可以使用Friend Assemlies
using System.Runtime.CompilerServices;
using System;
[assembly: InternalsVisibleTo("AssemblyB")]
// The class is internal by default.
class FriendClass
{
public void Test()
{
Console.WriteLine("Sample Class");
}
}
// Public class that has an internal method.
public class ClassWithFriendMethod
{
internal void Test()
{
Console.WriteLine("Sample Method");
}
}