/// <inheritdoc /> public void Populate(Type interfaceType, GrainInterfaceId interfaceId, Dictionary <string, string> properties) { foreach (var attr in interfaceType.GetCustomAttributes(inherit: true)) { if (attr is IGrainInterfacePropertiesProviderAttribute providerAttribute) { providerAttribute.Populate(this.serviceProvider, interfaceType, properties); } } }
public static GrainInterfaceId GetGrainInterfaceIdByConvention(Type type) => GrainInterfaceId.Create(RuntimeTypeNameFormatter.Format(type));
public void Populate(Type interfaceType, GrainInterfaceId interfaceId, Dictionary <string, string> properties) { properties["diag.type"] = RuntimeTypeNameFormatter.Format(interfaceType); properties["diag.asm"] = interfaceType.Assembly.GetName().Name; }