Пример #1
0
        /// <summary>
        /// Gets the data from a pasteboard of a specific type.
        /// </summary>
        /// <typeparam name="T">The data type of the data to retrieve.</typeparam>
        /// <param name="pasteboard">The pasteboard from which to retrieve data.</param>
        /// <param name="dataTypes">The data types expected to be supported by the pasteboard.</param>
        /// <returns>The data for given pasteboard data type, or <c>null</c> if the data is not supported or found.</returns>
        public static T GetDataForType <T>(NSPasteboard pasteboard, string[] dataTypes) where T : class
        {
            T data = default(T);

            if (pasteboard.CanReadItemWithDataConformingToTypes(dataTypes))
            {
                NSDataWrapper dataWrapper = null;
                if (PasteboardHelperData.TryGetValue(pasteboard, out dataWrapper))
                {
                    if (dataWrapper != null)
                    {
                        data = dataWrapper.GetWrappedObject <T>();
                    }
                }
            }
            return(data);
        }
Пример #2
0
 /// <summary>
 /// Prepares the pasteboard.
 /// </summary>
 /// <param name="pasteboard">The pasteboard to use.</param>
 /// <param name="dataType">The data type to put on the pasteboard.</param>
 /// <param name="data">The wrapped data to put onto the pasteboard.</param>
 public static void PreparePasteboard(NSPasteboard pasteboard, string dataType, NSDataWrapper data)
 {
     pasteboard.ClearContents();
     pasteboard.SetDataForType(data, dataType);
     PasteboardHelperData[pasteboard] = data;
 }