28 lines
		
	
	
		
			707 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			707 B
		
	
	
	
		
			C#
		
	
	
	
	
	
| using Connected.Notifications;
 | |
| 
 | |
| namespace Connected.Interop;
 | |
| 
 | |
| public static class InteropExtensions
 | |
| {
 | |
| 	public static TArgs AsArguments<TArgs>(this IDto args) where TArgs : IDto
 | |
| 	{
 | |
| 		var instance = typeof(TArgs).CreateInstance<TArgs>();
 | |
| 
 | |
| 		return Serializer.Merge(instance, args);
 | |
| 	}
 | |
| 
 | |
| 	public static TArgs AsArguments<TArgs>(this IDto args, params object[] sources) where TArgs : IDto
 | |
| 	{
 | |
| 		var instance = typeof(TArgs).CreateInstance<TArgs>();
 | |
| 
 | |
| 		return Serializer.Merge(instance, sources.ToArray(), args);
 | |
| 	}
 | |
| 
 | |
| 	public static TArgs AsEventArguments<TArgs>(this IDto args) where TArgs : IEventArgs
 | |
| 	{
 | |
| 		var instance = typeof(TArgs).CreateInstance<TArgs>();
 | |
| 
 | |
| 		return Serializer.Merge(instance, args);
 | |
| 	}
 | |
| }
 | 
