Without having worked in the area, my guess would be to try a light-scattering technique. This, in principle, would give you an estimate. With proper calibration, you could get a determination
This is the field of dynamic light scattering (DLS). Visible light is passed through a sample and the scattered photons are collected. The intensity of the scattering is dependent on the size of the particles. There are many mathematical equations (most of which I cannot descride) that are then used to determine the size of the particle, or more generally the average size of a population of particles.
As for whether it is an estimation or determination, it is both. Again, this technique is done on populations of particles, and it is unlikely they are all uniform in size (or shape). So the values to report are the size, the deviation, and the polydispersity index (PDI). Also, a particle in solution will have a larger hydrodynamic radius than it would in a dry state. Water will form a shell around the particle, and multiple shells are possible. The charge of the particle will also effect the hydrodynamic shell. This water shell will make the particle slightly larger, but not unreasonably large. I hope this helps.
In case of semiconductors and deielectrics "blue shift" effect could be used. It is an estimation based on the band gap increase when the particle size becomes comaprable with the exciton size/ de Broglie wavelength etc. In this case the absorption edge also moves to high energies which could help to roughly estimate the size.
For the metal nanoparticles, probably, plasmonic resonance could affect the spectrum in a likely way.