react-native-windows/vnext/Microsoft.ReactNative.Managed/ReactPropertyIdOf.cs

45 строки
1.3 KiB
C#

// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
using System;
namespace Microsoft.ReactNative.Managed
{
public struct ReactPropertyId<T>
{
public ReactPropertyName PropertyName { get; }
public ReactPropertyNamespace Namespace => PropertyName.Namespace;
public string NamespaceName => PropertyName.NamespaceName;
public string LocalName => PropertyName.LocalName;
public IReactPropertyName Handle => PropertyName.Handle;
public bool IsValid => PropertyName.IsValid;
public static explicit operator bool(ReactPropertyId<T> propertyId) => propertyId.IsValid;
public ReactPropertyId(ReactPropertyName propertyName)
{
PropertyName = propertyName;
}
public ReactPropertyId(IReactPropertyName handle = null)
: this(new ReactPropertyName(handle)) { }
public ReactPropertyId(string localName)
: this(new ReactPropertyName(localName)) { }
public ReactPropertyId(string namespaceName, string localName)
: this(new ReactPropertyName(namespaceName, localName)) { }
public ReactPropertyId(ReactPropertyNamespace ns, string localName)
: this(new ReactPropertyName(ns, localName)) { }
public ReactPropertyId(IReactPropertyNamespace ns, string localName)
: this(new ReactPropertyName(ns, localName)) { }
}
}