Selection.activeObject = assetObject only select dir item, it doesn’t open dir, I hope open dir like following gif(I hope “Project” window show dir files), how to do

Selection.activeObject = assetObject only select dir item, it doesn’t open dir, I hope open dir like following gif(I hope “Project” window show dir files), how to do

How use rider decompile Unity class, and I find UnityEditor.ProjectBrowser#ShowFolderContents, so I use following code to invoke this private method:
public static void OpenDir(string absPath)
{
var assetPath = $"Assets/{RoFile.Rel(absPath, Application.dataPath)}";
var asset = AssetDatabase.LoadMainAssetAtPath(assetPath);
var pt = Type.GetType("UnityEditor.ProjectBrowser,UnityEditor");
var ins = pt.GetField("s_LastInteractedProjectBrowser", BindingFlags.Static| BindingFlags.Public).GetValue(null);
var showDirMeth = pt.GetMethod("ShowFolderContents", BindingFlags.NonPublic|BindingFlags.Instance);
showDirMeth.Invoke(ins, new object[] {asset.GetInstanceID(), true});
}