Это решение выше для меня лучше, но для меня это не сработало, поэтому я сделал это следующим образом:
AssemblyName assemblyName = AssemblyName.GetAssemblyName(HttpContext.Current.Server.MapPath("~\\Bin\\AnotherAssembly.dll"));
string typeAssemblyQualifiedName = string.Join(", ", "MyNamespace.MyType", assemblyName.FullName);
Type myType = Type.GetType(typeAssemblyQualifiedName);
Предварительным условием является что вы знаете путь собрания. В моем случае я знаю это, потому что это сборка, построенная из другого внутреннего проекта и включаемая в папку bin нашего проекта.
В случае, если это важно, я использую Visual Studio 2013, моя целевая .NET - 4.0. Это проект ASP.NET, поэтому я получаю абсолютный путь через HttpContext
. Тем не менее, абсолютный путь не является требованием, как кажется из MSDN в AssemblyQualifiedNames
Вы можете добавить сервис Action в свой компонент и затем подписаться на него, чтобы прослушивать при отправке действия « CreatePositionSuccess ».
Например, в вашем компоненте:
import { Actions } from '@ngrx/effects';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
export class SampleClass implements OnInit, OnDestroy {
private unsubscribe$ = new Subject<void>();
//Injecting the service
constructor(private actions$: Action){}
onInit() {
this.actions$
.pipe(
ofType<CreatePositionSuccess>(CREATE_POSITION_SUCCESS),
// You can add more operator if it is necessary into the observable.
takeUntil(this.unsubscribe$)
)
.subscribe(() => {
// Here you can execute the reset function
});
}
onDestroy() {
this.unsubscribe$.next();
this.unsubscribe$.complete();
}
}
При этом вы сможете сбросить форму сразу же после вызова успешного действия.
Кстати, субъект «отписаться» используется для автоматической отмены подписки на Observable при уничтожении компонента, чтобы избежать утечек памяти. Вы можете заметить, как я использовал его в методе уничтожения.