| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -50,6 +50,32 @@ public class Fixture | |||
| 50 | 50 | ||
| 51 | 51 | public static readonly string PublicStaticReadOnlyField = "Default value"; | |
| 52 | 52 | protected static readonly string ProtectedStaticReadOnlyField = "Default value"; | |
| 53 | + | ||
| 54 | + public static Fixture Create() | ||
| 55 | + { | ||
| 56 | + return new Fixture(); | ||
| 57 | + } | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + [Test] | ||
| 61 | + public void TestPublicStaticMethodWorks() | ||
| 62 | + { | ||
| 63 | + dynamic model = PythonEngine.ModuleFromString("module", @" | ||
| 64 | + from clr import AddReference | ||
| 65 | + AddReference(""System"") | ||
| 66 | + AddReference(""Python.EmbeddingTest"") | ||
| 67 | + | ||
| 68 | + from Python.EmbeddingTest import * | ||
| 69 | + | ||
| 70 | + class TestPublicStaticMethodWorks: | ||
| 71 | + def GetValue(self): | ||
| 72 | + return TestPropertyAccess.Fixture.Create() | ||
| 73 | + ").GetAttr("TestPublicStaticMethodWorks").Invoke(); | ||
| 74 | + | ||
| 75 | + using (Py.GIL()) | ||
| 76 | + { | ||
| 77 | + Assert.AreEqual("Default value", model.GetValue().PublicProperty.ToString()); | ||
| 78 | + } | ||
| 53 | 79 | } | |
| 54 | 80 | ||
| 55 | 81 | [Test] | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -57,7 +57,7 @@ public static IntPtr tp_descr_get(IntPtr ds, IntPtr ob, IntPtr tp) | |||
| 57 | 57 | } | |
| 58 | 58 | try | |
| 59 | 59 | { | |
| 60 | - result = self.GetMemberGetter(info.DeclaringType)(null); | ||
| 60 | + result = self.GetMemberGetter(info.DeclaringType)(info.DeclaringType); | ||
| 61 | 61 | return Converter.ToPython(result, info.FieldType); | |
| 62 | 62 | } | |
| 63 | 63 | catch (Exception e) | |
@@ -151,7 +151,7 @@ public static IntPtr tp_descr_get(IntPtr ds, IntPtr ob, IntPtr tp) | |||
| 151 | 151 | } | |
| 152 | 152 | else | |
| 153 | 153 | { | |
| 154 | - self.GetMemberSetter(info.DeclaringType)(null, newval); | ||
| 154 | + self.GetMemberSetter(info.DeclaringType)(info.DeclaringType, newval); | ||
| 155 | 155 | } | |
| 156 | 156 | return 0; | |
| 157 | 157 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -66,7 +66,7 @@ public static IntPtr tp_descr_get(IntPtr ds, IntPtr ob, IntPtr tp) | |||
| 66 | 66 | ||
| 67 | 67 | try | |
| 68 | 68 | { | |
| 69 | - result = self.GetMemberGetter(info.DeclaringType)(null); | ||
| 69 | + result = self.GetMemberGetter(info.DeclaringType)(info.DeclaringType); | ||
| 70 | 70 | return Converter.ToPython(result, info.PropertyType); | |
| 71 | 71 | } | |
| 72 | 72 | catch (Exception e) | |
@@ -156,11 +156,11 @@ public static IntPtr tp_descr_get(IntPtr ds, IntPtr ob, IntPtr tp) | |||
| 156 | 156 | return -1; | |
| 157 | 157 | } | |
| 158 | 158 | ||
| 159 | - self.GetMemberSetter(info.DeclaringType)(co.inst, newval); | ||
| 159 | + self.GetMemberSetter(co.inst.GetType())(co.inst, newval); | ||
| 160 | 160 | } | |
| 161 | 161 | else | |
| 162 | 162 | { | |
| 163 | - self.GetMemberSetter(info.DeclaringType)(null, newval); | ||
| 163 | + self.GetMemberSetter(info.DeclaringType)(info.DeclaringType, newval); | ||
| 164 | 164 | } | |
| 165 | 165 | return 0; | |
| 166 | 166 | } | |
| Back | FazBrowse Home | New Git URL |
0 commit comments