Ich verwende Typelite 9.5.0, um meine C# -Klassen zu Typescript-Schnittstellen zu konvertieren. Ich möchte, dass ein NULL-fähiger Typ (z. B. Guid?) In Typescript in einen Nullable-Typ konvertiert wird.Typelite: Wie setze ich Nullable C# -Typen auf Nullable Typescript-Typen mit T4-Transformation?
Derzeit ich diese C# Klasse:
public class PersistentClassesReferences
{
public Guid? EmailMessageId { get; set; }
public Guid? FileMetaDataId { get; set; }
public Guid? IssueId { get; set; }
public Guid? ProjectId { get; set; }
}
Aber das ist mit Typelite dieser Typoskript Schnittstelle umgewandelt:
interface IPersistentClassesReferences {
EmailMessageId : System.IGuid;
FileMetaDataId : System.IGuid;
IssueId : System.IGuid;
ProjectId : System.IGuid;
}
Aber wenn ich möchte eine neue Typoskript Variable von dieser Schnittstelle erstellen, Der Compiler beschwert sich, wenn ich nicht alle Eigenschaften eingestellt habe (null eines Wertes).
Daher hatte ich eine Vorlage, die für NULL-Typ testen, und wenn ja, fügt ein?
var isNullabe = Nullable.GetUnderlyingType(tsprop.ClrProperty.PropertyType) != null;
if (isNullabe)
{
return identifier.Name + "? ";
}
Das hat funktioniert, aber nicht mehr (ich glaube, nach dem Upgrade 9.5.0 oder eine andere nugetpackage Update Typelite).
erhalte ich die Fehlermeldung:
Compiling transformation: 'System.Reflection.MemberInfo' does not contain a
definition for 'PropertyType' and no extension method 'PropertyType' accepting
a first argument of type 'System.Reflection.MemberInfo' could be found (are you
missing a using directive or an assembly reference?)
Wie kann ich ein Fragezeichen auf den identifiername hinzufügen?
Das funktioniert gut! Vielen Dank. – RHAD