webview.setWebViewClient(new WebViewClient());
webview.loadUrl(url);
Установить клиент веб-просмотра.
Я сделал что-то похожее на себя с сериализатором JavaScript в прошлом. В моем случае я только хотел сериализовать Nullbable свойства в объекте, который содержал значение. Я сделал это, используя размышления, проверяя свойство для значения и добавив свойство в словарь e.g.
public static Dictionary<string,object> CollectFilledProperties(object instance)
{
Dictionary<string,object> filledProperties = new Dictionary<string,object>();
object data = null;
PropertyInfo[] properties = instance.GetType().GetProperties();
foreach (PropertyInfo property in properties)
{
data = property.GetValue(instance, null);
if (IsNullable(property.PropertyType) && data == null)
{
// Nullable fields without a value i.e. (still null) are ignored.
continue;
}
// Filled has data.
filledProperties[property.Name] = data;
}
return filledProperties;
}
public static bool IsNullable(Type checkType)
{
if (checkType.IsGenericType && checkType.GetGenericTypeDefinition() == typeof(Nullable<>))
{
// We are a nullable type - yipee.
return true;
}
return false;
}
Тогда вместо сериализации оригинального объекта вы передаете словарь и ваш дядя Боб.
Довольно просто - просто украсьте методы, которые вы хотите игнорировать, атрибутом [ScriptIgnore]
.
Есть атрибуты, которые можно применять к классам и / или свойствам, которые управляют сериализацией. Атрибуты, управляющие сериализацией .
Как насчет тега атрибута [NonSerialized ()]
?
class Foo
{
field A;
[NonSerialized()]
field B;
[NonSerialized()]
field C;
field D;
}