net9.0-ios17.2
namespace Metal
{
    [Protocol(Name = "MTLLibrary", WrapperType = typeof(MTLLibraryWrapper))]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateFunction", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(string) }, ReturnType = typeof(IMTLFunction), Selector = "newFunctionWithName:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateFunction", ParameterByRef = new[] { false, false, true }, ParameterType = new[] { typeof(string), typeof(MTLFunctionConstantValues), typeof(NSError) }, ReturnType = typeof(IMTLFunction), Selector = "newFunctionWithName:constantValues:error:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateFunction", ParameterBlockProxy = new[] { null, null, typeof(NIDActionArity2V133) }, ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(string), typeof(MTLFunctionConstantValues), typeof(Action<IMTLFunction, NSError>) }, Selector = "newFunctionWithName:constantValues:completionHandler:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateFunction", ParameterBlockProxy = new[] { null, typeof(NIDActionArity2V133) }, ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(MTLFunctionDescriptor), typeof(Action<IMTLFunction, NSError>) }, Selector = "newFunctionWithDescriptor:completionHandler:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateFunction", ParameterByRef = new[] { false, true }, ParameterType = new[] { typeof(MTLFunctionDescriptor), typeof(NSError) }, ReturnType = typeof(IMTLFunction), Selector = "newFunctionWithDescriptor:error:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateIntersectionFunction", ParameterBlockProxy = new[] { null, typeof(NIDActionArity2V133) }, ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(MTLIntersectionFunctionDescriptor), typeof(Action<IMTLFunction, NSError>) }, Selector = "newIntersectionFunctionWithDescriptor:completionHandler:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateIntersectionFunction", ParameterByRef = new[] { false, true }, ParameterType = new[] { typeof(MTLIntersectionFunctionDescriptor), typeof(NSError) }, ReturnType = typeof(IMTLFunction), Selector = "newIntersectionFunctionWithDescriptor:error:")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "device", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Device", PropertyType = typeof(IMTLDevice), Selector = "device")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "functionNames", IsProperty = true, IsRequired = true, IsStatic = false, Name = "FunctionNames", PropertyType = typeof(string[]), Selector = "functionNames")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "type", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Type", PropertyType = typeof(MTLLibraryType), Selector = "type")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "installName", IsProperty = true, IsRequired = true, IsStatic = false, Name = "InstallName", PropertyType = typeof(string), Selector = "installName")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "label", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Label", PropertyType = typeof(string), Selector = "label", SetterSelector = "setLabel:")]
    [SupportedOSPlatform("maccatalyst")]
    [SupportedOSPlatform("ios")]
    [SupportedOSPlatform("macos")]
    [SupportedOSPlatform("tvos")]
    public interface IMTLLibrary : INativeObject, IDisposable
    {
        [BindingImpl(BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
        [Export("newFunctionWithDescriptor:completionHandler:")]
        [Preserve(Conditional = true)]
        [SupportedOSPlatform("macos11.0")]
        [SupportedOSPlatform("ios14.0")]
        [SupportedOSPlatform("tvos14.0")]
        [SupportedOSPlatform("maccatalyst14.0")]
        void CreateFunction(MTLFunctionDescriptor! descriptor, [BlockProxy(typeof(NIDActionArity2V133))] Action<IMTLFunction!, NSError!>! completionHandler);
    }
}
.NET 6.07.08.09.0
Information specific to net9.0
Platforms This API is only available when you target a specific platform:
iOS 10.010.110.210.311.011.111.211.311.412.012.112.212.312.413.013.113.213.313.413.513.614.014.114.214.314.414.515.015.215.416.016.116.216.417.017.2
Mac Catalyst 13.113.213.313.413.514.214.314.414.515.015.215.416.116.216.417.017.2
macOS 10.1410.1510.1611.011.111.211.312.012.112.313.013.113.314.014.2
tvOS 10.010.110.211.011.111.211.311.412.012.112.212.312.413.013.213.313.414.014.214.314.414.515.015.215.416.016.116.417.017.2
Information specific to net9.0-ios17.2
Assembly

Microsoft.iOS , Version=17.2.0.0, PublicKeyToken=84e04ff9cfb79065

Referencing

The API is automatically referenced.

Platform Restrictions

This API is only supported on the following platforms:

  • iOS >= 14
  • Mac Catalyst >= 14
  • macOS >= 11
  • tvOS >= 14
  • Built-in API
  • Package-provided API

11/20/2024
An error has occurred. This application may no longer respond until reloaded. Reload 🗙