Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Nein, eine solche Prüfung macht in C# keinen Sinn. Du bekommst einen Compilerfehler wenn du versuchst eine Variable zu verwenden die nicht deklariert ist.Also zu testen ob die Variable deklariert wurd geht nicht?
Ich hab mir nämlich eine c# bilbliothek geschrieben auf die ich in vba zugreife.
Jetzt kann es vorkommen dass manche Variablen nicht deklariert werden. (Also nicht dass einfach kein Wert eingetragen wurde sondern dass sie gar nicht erst vorkommen.
Eine Prüfung ob dies der Fall ist kann ich in C# dann nicht machen?
Aus einer Bibliothek (und eigentlich auch sonst in einer Klasse) sollten überhaupt keine Variablen nach außen zugänglich sein. Dafür gibt es in .NET die Properties, die man auch konsequent einsetzen sollte, um Datenstrukturen nach außen zu präsentieren.Ich hab mir nämlich eine c# bilbliothek geschrieben auf die ich in vba zugreife.
public class xmlBearbeitung{
public string mystring1, mystring2,.... ;
public void writeXML(){
//hier wird in ein xml file mit XMLDocument geschrieben, das schaut dann am Ende bei der Eintragung dann so aus:
mynode.Attributes["meinAttribut"].InnerText = mystring1;
mynode.Attributes["meinAttribut2"].InnerText = mystring1;
}
}
public class xmlBearbeitung{
private mynamespace.xmlBearbeitung xml = new mynamespace.xmlBearbeitung();
public mynamespace.xmlBearbeitung xmlDaten{
get { return xml; }
set { xml = value; }
}
public void writeXML() {
this.xml.writeXML();
}
}
Public Sub Aufruf()
Dim x As New meinnamespaceVB6.xmlBearbeitung
'und so befüll ich die Werte:
Set rs = CurrentDb.OpenRecordset(sqlstring)
Do While Not rs.EOF
x.xmlDaten.meinString1 = rs!WertString1
x.xlmDaten.meinString2 = rs!WertString2
...
'und wenn alle Werte eingelesen sind:
x.writeXML
End Sub
public class XmlBearbeitung
{
private Dictionary<string, string> mStrings = new Dictionary<string, string>();
public void AddString(string attribute, string content)
{
if(mStrings.ContainsKey(attribute))
throw new ArgumentException("Attribute already has a text!"); // kann auch was anderes passieren hier
mStrings.Add(attribute, content);
}
public void WriteXml()
{
foreach(var entry in mStrings)
{
myNode.Attributes[entry.Key].InnerText = entry.Value;
}
}
};
Public Sub Aufruf()
Dim x As New meinnamespaceVB6.xmlBearbeitung
'und so befüll ich die Werte:
Set rs = CurrentDb.OpenRecordset(sqlstring)
Do While Not rs.EOF
x.xmlDaten.AddString("myAttribute1", rs!WertString1)
x.xlmDaten.AddString("myAttribute2", rs!WertString2)
...
'und wenn alle Werte eingelesen sind:
x.writeXML
End Sub