Wie kann ich mit Zeigern arbeiten?
Die Wrapper-Klasse ist eine gute Idee. Du möchtest wirklich deinen unsicheren Code an einem Ort behalten.
Wie kann ich mit Zeigern arbeiten?
Zusätzlich zur anderen Antwort, die bereits darauf hinweist, dass Zeiger und unsicherer Code vermieden werden sollten, wenn möglich.
Sie möchten vermeiden, dass unsafe
Code überall in Ihrem Code verteilt ist, daher würde ich empfehlen, einen .Net-Wrapper über alle Ihre unsicheren Aufrufe zu schreiben, so dass Sie sich nur an einer Stelle darum kümmern müssen. Eventuell sogar eine Klassenbibliothek dafür erstellen, aber das hängt davon ab, was genau Sie tun.
Es wird natürlich sehr wichtig sein, dass jeder, der den Wrapper verwendet, daran denkt, die Dispose
-Methoden des Wrappers aufzurufen und ähnliches, um sicherzustellen, dass alle Zeiger oder anderen nicht verwalteten Ressourcen ordnungsgemäß freigegeben werden, aber das unterscheidet sich nicht von Ihrem übrigen Code.
Die beste Praxis besteht darin, unsicheren Code zu vermeiden. Verwenden Sie daher keine Zeiger in C#.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
16 Stimmen
Nicht.
4 Stimmen
Erklären Sie, warum Sie Pointer verwenden möchten/brauchen. Das sollte einige bessere Antworten und Debatten hervorrufen. Die Verwendung von Pointern in C# kann als recht kontrovers angesehen werden, wenn kein Kontext dafür besteht, warum sie verwendet werden sollen.
0 Stimmen
Wenn dieses Thema kein Duplikat ist und irgendwohin geht, wäre vielleicht ein Community-Wiki hilfreich für diejenigen, die aus Sprachen kommen, in denen die Verwendung von Pointern üblich ist?
0 Stimmen
Das ist etwas unspezifisch, gibt es einen bestimmten Zweck, den Sie im Sinn haben?
0 Stimmen
Ich habe gehört, dass man damit beginnt, das Kapitel "Unsicherer Code" der C#-Sprachspezifikation zweimal zu lesen, bevor man überhaupt darüber nachdenkt. msdn.microsoft.com/en-us/vcsharp/aa336809.aspx
0 Stimmen
Möglicher Duplikat: stackoverflow.com/questions/985691/pointers-in-c