InitializeComponentCode.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using System.IO;
  2. using System.Linq;
  3. using System.Threading.Tasks;
  4. namespace Avalonia.Generators.Tests.InitializeComponent.GeneratedInitializeComponent;
  5. public static class InitializeComponentCode
  6. {
  7. public const string NamedControl = "NamedControl.txt";
  8. public const string NamedControls = "NamedControls.txt";
  9. public const string XNamedControl = "xNamedControl.txt";
  10. public const string XNamedControls = "xNamedControls.txt";
  11. public const string NoNamedControls = "NoNamedControls.txt";
  12. public const string CustomControls = "CustomControls.txt";
  13. public const string DataTemplates = "DataTemplates.txt";
  14. public const string SignUpView = "SignUpView.txt";
  15. public const string FieldModifier = "FieldModifier.txt";
  16. public const string AttachedProps = "AttachedProps.txt";
  17. public const string AttachedPropsWithDevTools = "AttachedPropsWithDevTools.txt";
  18. public const string ControlWithoutWindow = "ControlWithoutWindow.txt";
  19. public static async Task<string> Load(string generatedCodeResourceName)
  20. {
  21. var assembly = typeof(XamlXNameResolverTests).Assembly;
  22. var fullResourceName = assembly
  23. .GetManifestResourceNames()
  24. .First(name => name.Contains("InitializeComponent") &&
  25. name.Contains("GeneratedInitializeComponent") &&
  26. name.EndsWith(generatedCodeResourceName));
  27. await using var stream = assembly.GetManifestResourceStream(fullResourceName);
  28. using var reader = new StreamReader(stream!);
  29. return await reader.ReadToEndAsync();
  30. }
  31. }