1
개체에 네임 스페이스 내에 정의 된 멤버가 있는지 확인하고 싶습니다. 경우의 QName로 hasOwnProperty
방법을 사용하려고했지만,이 지원되지 않는 :개체가 네임 스페이스 내에 속성이 있는지 확인하는 방법은 무엇입니까?
package {
import flexunit.framework.Assert;
public class ObjectTest extends Object {
public namespace some_public_namespace;
some_public_namespace var definedMember : String;
[Test]
public function testMemberWithinNamespace() : void {
// this should be elegant way... but actualy it doesn't work
try {
Assert.assertTrue("Expect hasOwnProperty method work with QName", this.hasOwnProperty(new QName(some_public_namespace, "definedMember")));
} catch (error : Error) {
Assert.assertTrue("hasOwnProperty method failed to work with QName", false);
}
// this is non elegant way that works
try {
this[ new QName(some_public_namespace, "definedMember") ];
Assert.assertTrue("Expect no error", true);
} catch (error : Error) {
Assert.assertTrue("Expect this line not to be runned", false);
}
try {
this[ new QName(some_public_namespace, "undefinedMember") ];
Assert.assertTrue("Expect this line not to be runned", false);
} catch (error : Error) {
Assert.assertTrue("Expect property doesn't exist", true);
}
}
}
}