@proggingneuling sagte in OOP Grundlagen - Objekt im Objekt:
Ich habe es zwar noch nicht umgesetzt aber meine neue Idee wäre das ich in der Klasse Gruppe.cs eine Liste<Benutzer> anlege damit jede Gruppe erstmal Ihre eigene Benutzerliste hat
Du hast doch schon eine List<Benutzer> in der Gruppe !?!?!?
Schlechte Bezeichner einfach von oben nach unten durchgeschaut:
kontrolle
SQLVerbinder (das ist eine Funktion, kein Objekt!)
SQLdeverbinder
eingabeGruppe
eingabeWeitereGruppe
usw...
Außerdem ist bei dir alles vermischt. Wenn es eine Übungsaufgabe ist, die du dir selber ausgedacht hast, wäre es viel sinnvoller und objektorientierter, mal die Logik und "GUI" (in dem Fall Konsole) auseinanderzuziehen.
Guten Tag Th69,
Danke für deinen Beitrag.
Ja, ich habe beide Methoden getestet, mit dem AssemblyResolver und die Alternative mit der App.config. Leider entsteht bei beiden Möglichkeiten der selbe Fehler.
Ich werde mir das Tool Dependency Walker mal genauer anschauen.
Grüße,
warmeheizung
Sehr schön,
dann hast du wenigstens einen saubereren Stand. - Deine erste Lösung hätte nämlich noch ein paar kleine Probleme mit sich gebracht z.B. dass deine Ursprungsmatrix "A" exakt dem "Result" entspräche. So könntest du mit den Ursprungswerten nichts mehr anfangen.
Behalte daher immer vor Augen, dass Klassen in C# immer Referenz-Typen sind. Eine Änderung auf einem Objekt (auch in gekapselten Funktionen) hat immer zur Folge, dass sich die tatsächliche Referenz also auch die von außen in die Funktion gegebene Instanz ändert.
sorry das ich erst jetzt eine Rückmeldung dazu geben kann.
Ich habe das mit den Rechten und der Vererbung soweit hinbekommen, wie oben schon beschrieben. Allerdings
werden die Rechte des übergeordneten Verzeichnisses bei einem Windows-Update, aber auch bei einem Update unserer
Gruppenrichtlinien (durch unsere IT) wieder auf die Standard-Werte zurückgesetzt und an die Unterverzeichnisse vererbt.
Danach ist es nur noch dem Ersteller des Verzeichnisses möglich, die Rechte wieder zu ändern. Hier habe ich bisher noch
keine passende Lösung gefunden.
@th69 sagte in <h>...</h> text von einer html seite in einen string wandelt?:
Benutze dafür entsprechende Libraries wie z.B. HTML Agility Pack, s.a. Getting Started With HTML Agility Pack.
@booster sagte in Projiziere Recursive IEnumerable with Linq:
Der Hauptgrund ist eigentlich das lazy loading.
Ok muss mich berichtigen. Das kann ich natürlich auch ohne Linq. Die Collection dürfte dann keine Collection sein sondern ein IEnumerable. Und dann halt statt add ein yield return.
Finde Linq aber trotzdem schöner.
Gut wenn es nicht geht, geht es nicht. Dann ist es halt so.
Ist zwar schon 2 Monate her, aber vielleicht Sucht mal einer und findet das dann...
Man kann der Sort Funktion auch ein Lamda in die Hand drücken. Das sollte man natürlich nur machen, wenn man diesen Sort nicht oft braucht und der Vergleich auch nicht komplex ist.
Dazu gibts die Klasse Comparer und deren statische Methode Create()
Ein Beispiel:
class myObj{
public int number { get; set; }
public string name { get; set; }
public override string ToString() => $"{number}: {name}";
}
static void Main(string[] args){
var list = new List<myObj> { new myObj { number = 2, name = "Dieter" }
, new myObj { number = 3, name = "Klaus" }
, new myObj { number = 1, name = "Inge" }
};
list.Sort( Comparer<myObj>.Create( (left, right) => left.number - right.number ));
list.ForEach( x => Console.WriteLine(x));
}
@berniebutt Derzeit haben wir keine explizite Funktion dafür. Bin mir am überlegen ein entsprechendes Plugin einzuführen. Was du aktuell machen kannst, ist einfach deinen ersten Beitrag zu editieren und dort den Titel anpassen.
ok ich habe mir nochmal den link von swordfish angesehen und ein wenig gegrübelt und habe nun die Lösung aus dem Link mit meinem obenren code ergänzt.
ich lasse nun überprüfen ob mein Ordner zB Test oder darin enthaltene unterordner geöffnet sind und falls ja nehme ich mir den unterordner namen und schließe diesen mit dem code aus dem link.
ich nehme nur den Ordner namen und nicht den ganzen pfad da bei mir in win10 nur der Ordnername angezeigt wird und ich nicht den ganzen Pfad sehen will.
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
/// <summary>
/// Find window by Caption only. Note you must pass IntPtr.Zero as the first parameter.
/// </summary>
[DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]
static extern IntPtr FindWindowByCaption(IntPtr ZeroOnly, string lpWindowName);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);
const UInt32 WM_CLOSE = 0x0010;
void checkOpenFolders()
{
SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindows();
string filename, folderPath = "";
foreach (SHDocVw.InternetExplorer ie in shellWindows)
{
filename = Path.GetFileNameWithoutExtension(ie.FullName).ToLower();
if (filename.Equals("explorer"))
{
folderPath = ie.LocationURL;
}
folderPath = folderPath.Substring(8);
folderPath = folderPath.Replace("/", "\\");
folderPath = folderPath.Replace("%20", " ");
if (folderPath.Contains(path) == true)
{
string result = new DirectoryInfo(folderPath).Name;
IntPtr windowPtr = FindWindowByCaption(IntPtr.Zero, result);
if (windowPtr == IntPtr.Zero)
{
//textBox1.Text = "Window not found";
return;
}
SendMessage(windowPtr, WM_CLOSE, IntPtr.Zero, IntPtr.Zero);
}
}
}
longclick sieht nach deinem wunsch aus.
edit: besser mal hier schmöckern
https://forums.xamarin.com/discussion/comment/30873/#Comment_30873
oder hier
https://forums.xamarin.com/discussion/1013/catching-long-presses-on-a-list-view
Hallo zusammen,
ich stehe leider etwas auf dem Schlauch und komme nicht weiter.
Ich habe einen MSSQL EntityContext und würde geren sämtliche Entitäten mit Feldern in einer TreeView auflisten. Hat jemand eine Idee wie man das machen könnte? Irgendwie komme ich gerade nicht drauf.
Ziel: Links eine TreeView mit allen Entitäten und den dazugehörigen Feldern inklusive Subtabellen usw und rechts ein DataGrid. Aus der TreeView ziehe ich mir ein Feld oder eine komplette Entität auf die rechte Seite ins DataGrid und dort werden dann die Daten geladen.
Gruß
Guten Tag,
ich habe eine Textbox die Daten per DataBinding beim Aufruf aufnimmt.
Nachdem ich aber per STRG + V etwas einfügen will überschreibt er den ganzen Text ohne irgendwas markiert zu haben.
Versuche ich es aber per Rechtsklick einzufügen funktioniert alles.
Hat jemand eine Idee, an was das liegen kann?
Mit freundlichen Grüßen