本文整理汇总了C#中AMFWriter.WriteObject方法的典型用法代码示例。如果您正苦于以下问题:C# AMFWriter.WriteObject方法的具体用法?C# AMFWriter.WriteObject怎么用?C# AMFWriter.WriteObject使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AMFWriter
的用法示例。
在下文中一共展示了AMFWriter.WriteObject方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WriteData
public void WriteData(AMFWriter writer, object data)
{
var collection = data as NameObjectCollectionBase;
var attributes = collection.GetType().GetCustomAttributes(typeof(DefaultMemberAttribute), false);
if (attributes != null && attributes.Length > 0)
{
var defaultMemberAttribute = attributes[0] as DefaultMemberAttribute;
var pi = collection.GetType().GetProperty(defaultMemberAttribute.MemberName, new[] { typeof(string) });
if (pi != null)
{
var aso = new ASObject();
for (var i = 0; i < collection.Keys.Count; i++)
{
var key = collection.Keys[i];
var value = pi.GetValue(collection, new object[]{ key });
aso.Add(key, value);
}
writer.WriteASO(ObjectEncoding.AMF0, aso);
return;
}
}
//We could not access an indexer so write out as it is.
writer.WriteObject(ObjectEncoding.AMF0, data);
}
示例2: WriteData
public void WriteData(AMFWriter writer, object data)
{
if( data is IList )
{
IList list = data as IList;
object[] array = new object[list.Count];
list.CopyTo(array, 0);
writer.WriteArray(ObjectEncoding.AMF0, array);
return;
}
#if !(SILVERLIGHT)
IListSource listSource = data as IListSource;
if (listSource != null)
{
IList list = listSource.GetList();
object[] array = new object[list.Count];
list.CopyTo(array, 0);
writer.WriteArray(ObjectEncoding.AMF0, array);
return;
}
#endif
if(data is IDictionary)
{
writer.WriteAssociativeArray(ObjectEncoding.AMF0, data as IDictionary);
return;
}
if(data is Exception)
{
writer.WriteASO(ObjectEncoding.AMF0, new ExceptionASO(data as Exception) );
return;
}
if (data is IEnumerable)
{
List<object> tmp = new List<object>();
foreach (object element in (data as IEnumerable))
{
tmp.Add(element);
}
writer.WriteArray(ObjectEncoding.AMF0, tmp.ToArray());
return;
}
writer.WriteObject(ObjectEncoding.AMF0, data);
}