Files
Toolkit2/Framework/Foundation/Contents/ContentTemplateDescriptorProvider.cs
T
2022-12-14 20:07:45 +00:00

41 lines
1.1 KiB
C#

namespace Toolkit.Framework.Foundation;
public class ContentTemplateDescriptorProvider : IContentTemplateDescriptorProvider
{
private readonly IReadOnlyCollection<IContentTemplateDescriptor> descriptors;
public ContentTemplateDescriptorProvider(IReadOnlyCollection<IContentTemplateDescriptor> descriptors)
{
this.descriptors = descriptors;
}
public IContentTemplateDescriptor? Get(string name)
{
if (descriptors.FirstOrDefault(x => x.Name == name) is IContentTemplateDescriptor descriptor)
{
return descriptor;
}
return null;
}
public IContentTemplateDescriptor? Get(Type type)
{
if (descriptors.FirstOrDefault(x => x.ContentType == type) is IContentTemplateDescriptor descriptor)
{
return descriptor;
}
return null;
}
public IContentTemplateDescriptor? Get<T>()
{
if (descriptors.FirstOrDefault(x => x.ContentType == typeof(T)) is IContentTemplateDescriptor descriptor)
{
return descriptor;
}
return null;
}
}