2015-09-21 36 views
0

我正在開發Windows Runtime組件項目,該項目必須向外界公開少量控件。我想用設計視圖模型,所以我有這樣的:作爲內部類的設計視圖模型

public sealed class FirstPanelDesignViewModel 
{ ... } 

它的工作原理在設計時像預想的那樣,但這個類也會露出它的項目,這是不可取的事情的外部世界。所以,我可以修改它是這樣的:

internal class FirstPanelDesignViewModel 
{ ... } 

但現在的設計師(這是打開的.xaml文件)抱怨說,它不能訪問類和渲染不會再發生:

The name "FirstPanelDesignViewModel" does not exist in the namespace "using:SomeProject.DesignViewModels".

有沒有辦法在Windows運行時組件中使用設計視圖模型而不將其暴露給外部?

回答

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"); 
    } 

} 
+0

好了,這大會應我添加具有InternalsVisibleTo(「」),這樣的設計會看到類? – tomab

+0

您應該添加使用您的類的程序集 –

+0

但是我在包含**類的程序集內工作。 – tomab

相關問題