L'accès à l'intérieur des classes à partir d'un autre projet

Je me demandais si il était possible d'accéder à une classe interne des variables à partir d'autres projet en c#. Je sais que c'est impossible dans l'utilisation régulière, je l'expliquer ci-dessous.

J'ai un projet (P1 [bibliothèque de classe]) contenant ces classes...

internal class Settings
{
    public static long size {get;set;}

    public static DoSomethingInternalOnly()
    {
    }
}

public class Program
{
    public static Main()
    {

    }
}

... et un autre (P2) contenant:

public class Program
{
    public static Main()
    {
        //P1.CopyOfSettings.size = 2048; ???
    }
}

Dans les Paramètres de la classe-je stocker des variables internes (et les méthodes) pour les applications qui ne peut pas être visibles à partir d'autres projets. Mais ces paramètres doivent être passés en quelque sorte de P2 à P1, donc j'ai besoin de deuxième classe "Settings2" en P2 contenant les mêmes variables (variables seulement!) "Paramètres" avec mot-clé public.

J'ai l'impression que la création de plusieurs classes contenant les mêmes variables est une perte de temps et rend le code illisible. Est-il meilleure façon d'accomplir cette?

Passé est le mot. Exactement comment vous souhaitez Settings à être adoptée? Si ils sont sérialisés par Program1, alors peut-être vous pouvez désérialiser dans Program2? Les deux projets peuvent partager définition de classe pour uniquement les paramètres (méthodes sont exclusifs pour Program1 ensuite).
j'ai l'impression que la création de plusieurs classes contenant les mêmes variables est une perte de temps et rend le code illisible. Est-il meilleure façon d'accomplir cette?</j'ai> Donc créer une catégorie distincte lib communs classes.
Cela semble très étrange pour moi. Si une classe ou d'un membre est internal son ment être utilisées uniquement au sein d'une assemblée. Si vous avez besoin d'accéder de l'extérieur de l'assemblée de faire de la classe publique.

OriginalL'auteur Adam Mrozek | 2014-02-03