Microsoft .Net-Samples
Loading...
Searching...
No Matches
fho.frm.net.Microsoft_DotNetSamples.ClassCSharpVersion.SampleClassCSharp14Base Class Reference

Samples aus: tsACSharpVersion_014_Default_Click [Sample: ParameterStringAttribute]. More...

Static Public Member Functions

static string _GetNameOf ()
 Option-01-A: Sample mit System.Collections.Generic.KeyValuePair (Fix-Value).
static string _GetNameOf (string _NameOf)
 Option-01-B: Sample mit einer ganz normalen Anwendung zur Erkennung des Klassen-Namen.
static string _GetNameOfMethod (string msg)
 Option-01-C: Was soll das eigentlich??
static object _LocalFunction< T > (T param)
 Option-01-D: Der Versuch einen Null-Argument Exception auszulösen.
static string _GetValueofNumberA ([ParameterString(nameof(aNumber))] int? aNumber)
 Option-01-E: Einfache Berechnung Value*55: => Attribute bieten eine Möglichkeit zum Zuordnen von Informationen mit Code auf deklarative Weise.
static string _GetValueofNumberB (int? aNumber)
 Option-01-E: Einfache Berechnung Value*55.
static string _GetNameOfLambda (string _TypeName)
 Option-02: Auflösung kommt aus Parameter welcher als nameof(xxx) übergeben wurde.
static string _GetNameOfLambda< T > ()
 Option-03: Übergabe mit generischem Type.
static string _GetNameOfAction< T > (string _ActionParameter)
 Option-04: Grundsätzlich analog Option-03, nur mehr tamtam rundherum.

Properties

static string _PropertyName [get, set]
 Option-05: Argumentüberprüfung in Property.

Static Private Attributes

static string name = string.Empty

Detailed Description

Samples aus: tsACSharpVersion_014_Default_Click [Sample: ParameterStringAttribute].

Ein nameof-Ausdruck erzeugt den Namen einer Variablen, eines Typs oder eines Members als Zeichenfolgenkonstante. Ein nameof-Ausdruck wird zur Kompilierzeit ausgewertet und hat zur Laufzeit keine Auswirkung. Wenn der Operand ein Typ oder ein Namespace ist, ist der erzeugte Name nicht vollqualifiziert.

https://learn.microsoft.com/de-de/dotnet/csharp/language-reference/operators/nameof

Member Function Documentation

◆ _GetNameOf() [1/2]

string fho.frm.net.Microsoft_DotNetSamples.ClassCSharpVersion.SampleClassCSharp14Base._GetNameOf ( )
static

Option-01-A: Sample mit System.Collections.Generic.KeyValuePair (Fix-Value).

Returns

Remarks: Hat aber keine Verbindung zu [ParameterStringAttribute] und deren Eigenschaften. Auch die Rückgabe des nameof()-Value basiert auf einem Fix-Wert [System.Collections.Generic.KeyValuePair<,>] Diese Version der Definition ohne Werte im KeyValuePair geht erst ab version 14.0

◆ _GetNameOf() [2/2]

string fho.frm.net.Microsoft_DotNetSamples.ClassCSharpVersion.SampleClassCSharp14Base._GetNameOf ( string _NameOf)
static

Option-01-B: Sample mit einer ganz normalen Anwendung zur Erkennung des Klassen-Namen.

Parameters
_NameOf
Returns

Remarks: Keine wirkliche Funktion, da nameof bereits im Methoden-Call umgesetzt werden musste! Also einfach 1:1 durchreichen!

◆ _GetNameOfAction< T >()

string fho.frm.net.Microsoft_DotNetSamples.ClassCSharpVersion.SampleClassCSharp14Base._GetNameOfAction< T > ( string _ActionParameter)
static

Option-04: Grundsätzlich analog Option-03, nur mehr tamtam rundherum.

Returns

◆ _GetNameOfLambda()

string fho.frm.net.Microsoft_DotNetSamples.ClassCSharpVersion.SampleClassCSharp14Base._GetNameOfLambda ( string _TypeName)
static

Option-02: Auflösung kommt aus Parameter welcher als nameof(xxx) übergeben wurde.

Parameters
_TypeName
Returns

◆ _GetNameOfLambda< T >()

Option-03: Übergabe mit generischem Type.

Template Parameters
T
Returns

◆ _GetNameOfMethod()

string fho.frm.net.Microsoft_DotNetSamples.ClassCSharpVersion.SampleClassCSharp14Base._GetNameOfMethod ( string msg)
static

Option-01-C: Was soll das eigentlich??

Parameters
msg

C: void SampleClassCSharp14Base._GetNameOfMethod(nameof(KeyValuePair<,>))

Function Input:Integer / Output:String

◆ _GetValueofNumberA()

string fho.frm.net.Microsoft_DotNetSamples.ClassCSharpVersion.SampleClassCSharp14Base._GetValueofNumberA ( [ParameterString(nameof(aNumber))] int? aNumber)
static

Option-01-E: Einfache Berechnung Value*55: => Attribute bieten eine Möglichkeit zum Zuordnen von Informationen mit Code auf deklarative Weise.

Parameters
aNumber
Returns

◆ _GetValueofNumberB()

string fho.frm.net.Microsoft_DotNetSamples.ClassCSharpVersion.SampleClassCSharp14Base._GetValueofNumberB ( int? aNumber)
static

Option-01-E: Einfache Berechnung Value*55.

Parameters
aNumber
Returns

◆ _LocalFunction< T >()

object fho.frm.net.Microsoft_DotNetSamples.ClassCSharpVersion.SampleClassCSharp14Base._LocalFunction< T > ( T param)
static

Option-01-D: Der Versuch einen Null-Argument Exception auszulösen.

Template Parameters
T
Parameters
param
Exceptions
ArgumentNullException

D: void SampleClassCSharp14Base.LocalFunction< KeyValuePair<int?, string>>(_KeyValuePairPinName) Einfache Klasse KeyValuePairClass zum Einsatz mit dieser Methode erstellt. Das Problem ist, zu erkennen wann value, key einfach NULL sind. Auch mit dem Einsatz Activator kann mit dem ArgumentNullException kein Fehler erzeugt werden. Das .Add eine NULL-Key in der Klasse KeyValuePairClass ist grundsätzlich nicht möglich, soweit also kein Problem.

Das Grundproblem ist, dass das KeyValuePair-Object als solches nicht NULL ist, aber der Key und das Value-Field sind NULL. In diesem Zusammenhang aber nicht direkt erkennbar => {[null,null]}

Member Data Documentation

◆ name

string fho.frm.net.Microsoft_DotNetSamples.ClassCSharpVersion.SampleClassCSharp14Base.name = string.Empty
staticprivate

Property Documentation

◆ _PropertyName

string fho.frm.net.Microsoft_DotNetSamples.ClassCSharpVersion.SampleClassCSharp14Base._PropertyName
staticgetset

Option-05: Argumentüberprüfung in Property.

Remarks: Sie können einen nameof-Ausdruck nutzen, um den Code zur Argumentüberprüfung besser verwalten zu können:

https://learn.microsoft.com/de-de/dotnet/csharp/language-reference/operators/nameof


The documentation for this class was generated from the following file:
  • U:/00000000_global_projects/000_DotNetxx/fho.frm.net.Microsoft_DotNetSamples/fho.frm.net.Microsoft_DotNetSamples/ClassCSharpVersion/ClassCSharp14.cs