Kann ich partielle Klasse in verschiedenen Namespaces erstellen? Wird es funktionieren? e.x .:Teilklasse in verschiedenen Namespaces
class1.cs
namespace name1
{
public partial class Foo
{
Bar1(){
return 10;
}
}
}
class2.cs
namespace name1.name2
{
public partial class Foo
{
Bar2(){
return 100;
}
}
}
main.cs
using name1;
using name1.name2;
namespace mainClass
{
public class mainClass
{
Foo classFoo = new Foo();
int Count = classFoo.Bar1() + classFoo.Bar2();
// Will Count = 110?
}
}
Was soll ich tun, damit es funktioniert? (Wenn mein Beispiel nicht korrekt ist)
Ich möchte separate Bibliotheken erstellen. Um der Hauptklasse neue Funktionen hinzuzufügen, ohne sie zu ändern. Ich habe ein großes Loch in meinem Kopf zu diesem Thema ... – RAMe0
Nun, ich würde zwei Möglichkeiten vorschlagen. Die erste wäre, eine Unterklasse für 'name1.Foo' in' name1.name2.Foo' zu erstellen. Die zweite wäre die Verwendung von Erweiterungsmethoden (http://msdn.microsoft.com/en-us/library/bb383977.aspx), die eine großartige Möglichkeit ist, Funktionen zu Klassen hinzuzufügen, die Sie entweder nicht steuern oder für die Sie nicht möchten aus irgendeinem Grund, möchte nicht ändern. – CodingGorilla
@ RAMe0: Teilklassen werden zur Kompilierzeit aufgelöst, es gibt keinen Sinn für einen Partialtyp in .NET ist ein Sprachkonstrukt. Dadurch kann der _Source-Code_ einer Klasse während der Kompilierung in mehreren Quelldateien angezeigt werden. – AnthonyWJones