Да, это будет работать, проверьте этот текущий тест:
[TestMethod]
public void TestMethod8()
{
using (new MyClass() as IDisposable)
{
}
}
public class MyClass { }
Он работает без проблем. Если соответствующий класс реализует IDisposable, он вызовет его, если нет, он все равно будет работать / работать:).
Обновление: Как уже говорили другие, мне также интересно, какую пользу вы хотите ему дать. Я предполагаю, что у вас есть что-то вроде фабрики, которая может получать экземпляры из разных классов, которые могут быть или не быть одноразовыми