Введите пользовательское преобразование типов к классам библиотеки.NET

Вы также можете использовать NSThread:

[NSThread sleepForTimeInterval:(NSTimeInterval)];

Вы можете поместить этот код в первую строку из метода applicationDidFinishLaunching.

Например, отобразите default.png в течение 5 секунд.

- (void) applicationDidFinishLaunching:(UIApplication*)application
{
   [NSThread sleepForTimeInterval:5.0];
}
22
задан shojtsy 3 March 2009 в 15:55
поделиться

4 ответа

Можно изменить зарегистрированное TypeConverter для чего-то с помощью TypeDescriptor.AddAttributes; это не вполне то же как Convert.ChangeType, но оно может быть достаточным:

using System;
using System.ComponentModel;
static class Program
{
    static void Main()
    {
        TypeDescriptor.AddAttributes(typeof(Guid), new TypeConverterAttribute(
            typeof(MyGuidConverter)));

        Guid guid = Guid.NewGuid();
        TypeConverter conv = TypeDescriptor.GetConverter(guid);
        byte[] data = (byte[])conv.ConvertTo(guid, typeof(byte[]));
        Guid newGuid = (Guid)conv.ConvertFrom(data);
    }
}

class MyGuidConverter : GuidConverter
{
    public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
    {
        return sourceType == typeof(byte[]) || base.CanConvertFrom(context, sourceType);
    }
    public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
    {
        return destinationType == typeof(byte[]) || base.CanConvertTo(context, destinationType);
    }
    public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value)
    {
        if (value != null && value is byte[])
        {
            return new Guid((byte[])value);
        }
        return base.ConvertFrom(context, culture, value);
    }
    public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
    {
        if (destinationType == typeof(byte[]))
        {
            return ((Guid)value).ToByteArray();
        }
        return base.ConvertTo(context, culture, value, destinationType);
    }
}
44
ответ дан Marc Gravell 29 November 2019 в 04:44
поделиться
System.ComponentModel.ICustomTypeDescriptor

Да, это возможно. Прочитайте документацию относительно MSDN для сопутствующей информации для 'введения' этого в под управлением программу. (TypeDescriptor предоставляет методу IIRC).

-1
ответ дан leppie 29 November 2019 в 04:44
поделиться

Если код, который выполняет поддержки преобразования TypeConverter с, которую можно использовать TypeConverterAttribute на уровне ассемблера.

0
ответ дан Richard 29 November 2019 в 04:44
поделиться

К сожалению, не Вы не можете - Вы могли записать дополнительный метод, который будет появляться , чтобы быть преобразованием между двумя типами как часть платформы.

-2
ответ дан Andrew Hare 29 November 2019 в 04:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: