MrCamelcase schrieb:
Im Internet bezeichnen sich viele Dokumente als "Standard" oder "de-facto Standard" und trotzdem wird es immer unterschiedlich gemacht.
Auch wenn es von Microsoft selbst nicht komplett gelebt wird (Viele Köche verderben den Brei; zudem sind diese wohl auch erst im Verlauf der Entwicklung entstanden), halte ich mich im wesentlichen an offizielle Vorgaben, speziell die Richlinien für die Benennung.
cu André
Vermutlich wird es sich dabei um ein spezielles Objekt handeln, welches der Compiler (einer, der optionale Parameter unterstützt) bei nicht übergebenen Parametern einsetzt, damit der Empfänger zwischen null und "nicht übergeben" unterscheiden kann.
MrCamelcase schrieb:
@F98:
bezüglich deines Beispiels auf Seite 4, was machst du mit protected/internal ?
Danke und Gruß
Es findet von der Nomenklatur her keine Unterscheidung statt, ist im Grunde auch nicht wichtig, anhand eines Variablennamens zu sehen, ob private oder protected. Mir fällt auf die Schnelle kein Gegenbeispiel ein (Ich muss weg.).
Das ist schonmal eine gute idee... Nun möchte ich aber zwischen den Interface und den Konkreten Service klassen eine Abstracte Klasse zwischen schachteln.. hab sowas gemacht:
public interface IService<TProvider>
{
}
public interface IProvider<T, U> where T : IService<U>
{
object ProviderInfo();
}
public class ProviderA : IProvider<ServiceA, ProviderA>
{
public object ProviderInfo(){throw new NotImplementedException(); }
}
public class ProviderB : IProvider<ServiceB, ProviderB>
{
public object ProviderInfo() { throw new NotImplementedException(); }
}
public abstract class AbstractService<TProvider,TService> : IService<TProvider>
{
public readonly IProvider<TService, TProvider> /*HIER*/_pro = default(IProvider<TService, TProvider>);
public /*HIER*/AbstractService(IProvider<TService, TProvider> pro)
{
_pro = pro;
}
}
public class ServiceB : AbstractService<ProviderB,ServiceB>
{
public ServiceB(ProviderB Pro)
: base(Pro)
{
}
}
public class ServiceA : AbstractService<ProviderA, ServiceA>
{
public ServiceA(ProviderA Pro)
: base(Pro)
{
}
}
Bei HIER Kommen 2 mal der gleiche Fehler welchen ich nich verstehe:
Fehler 2 Der Typ "TService" kann nicht als Typparameter "T" im generischen Typ oder in der generischen Methode "TagLib.IProvider<T,U>" verwendet werden. Es ist keine Boxing-Konvertierung oder Typparameterkonvertierung von "TService" in "TagLib.IService<TProvider>" vorhanden. C:\Documents and Settings\Operator\My Documents\Visual Studio 2008\Projects\TagLib\TagLib\test.cs 28 56 TagLib
Hallo zusammen,
habe derzeit ein Problem mit einer .Net Anwendung (.Net 3.5, kann aber auch in einer tieferen Version kompiliert werden, falls das hilft) die im Netzwerk laufen muss.
D.h. die Anwendung liegt auf einem Netzwerk-Share und muss von verschiedenen Benutzern aufgerufen werden können.
Die Anwendung schreibt allerdings auch in einige XML Dateien, die selbst auf dem Netzwerkshare liegen.
Das Problem dabei:
Sobald die Anwendung selbst im Netzwerk liegt erhalte ich vom .Net Framework eine Security Exception.
Es ist allerdings nicht möglich diese Sicherheitseinstellungen auf allen Rechnern in der Firma zu ändern.
D.h. ich benötige eine Lösung, welche innerhalb des Programms funktioniert.
Kann man das irgendwo einstellen?
Habe mal den Haken "This is a full trust application" gesetzt, was jedoch keine Verbesserung gebracht hat.
Zur Not würde ich eben eine kleine C/C++ Anwendung schreiben, welche meine .Net Anwendung temporär lokal kopiert und dann ausführt. Eine schöne Lösung ist das aber nicht!
Da muss es doch auch etwas anderes geben, oder?
Vielen Dank für einen guten Tipp
Gruß
GaDgeT
ich habe bevor ich an winforms kam immer mit java + swing gearbeitet. komplettes gui handgecoded.
als ich dann irgendwann mal an den designer von VS geraten bin musste ich vor begeisterung direkt nen kollegen anrufen und ihm erzählen, wie einfach das doch alles ist
ich finde den designer toll... man kann sich in wenigen sekunden (!) einfach zusammenklicken, was man braucht und muss noch nichtmal über containment hierarchie nachdenken. und bisher hat alles, was ich auf diese weise hergestellt habe bestens funktioniert. der zeitgewinn den man hat beim verwenden des designers hat ist enorm, finde ich. nur ein borderlayout-panel würde ich mir noch wünschen.
hajb schrieb:
David_pb schrieb:
[...]
Was heißt das? Man kann nicht auf einen Typ einschränken und Typen die sich nicht ableiten lassen (sealed Klassen, oder Valuetypen) gehen schonmal garnicht.
Auf einen Typ einschränken macht ja auch wenig Sinn. Warum sollte man dann überhaupt eine Generic-Klasse verwenden?
Eben!
Und wenn dich die Eingeweide des .NET Framework interessieren, dann guck dir die einfach an:
http://referencesource.microsoft.com/
http://www.codeplex.com/NetMassDownloader
...