FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Minor changes · jmerle/pythonnet@4e34c46 · GitHub

Repository navigation

Commit 4e34c46

Browse files
committed
Minor changes
1 parent e02236e commit 4e34c46

3 files changed

Lines changed: 31 additions & 5 deletions

File tree

‎src/embed_tests/TestPropertyAccess.cs‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,32 @@ public class Fixture
5050

5151
public static readonly string PublicStaticReadOnlyField = "Default value";
5252
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+
}
5379
}
5480

5581
[Test]

‎src/runtime/fieldobject.cs‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public static IntPtr tp_descr_get(IntPtr ds, IntPtr ob, IntPtr tp)
5757
}
5858
try
5959
{
60-
result = self.GetMemberGetter(info.DeclaringType)(null);
60+
result = self.GetMemberGetter(info.DeclaringType)(info.DeclaringType);
6161
return Converter.ToPython(result, info.FieldType);
6262
}
6363
catch (Exception e)
@@ -151,7 +151,7 @@ public static IntPtr tp_descr_get(IntPtr ds, IntPtr ob, IntPtr tp)
151151
}
152152
else
153153
{
154-
self.GetMemberSetter(info.DeclaringType)(null, newval);
154+
self.GetMemberSetter(info.DeclaringType)(info.DeclaringType, newval);
155155
}
156156
return 0;
157157
}

‎src/runtime/propertyobject.cs‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public static IntPtr tp_descr_get(IntPtr ds, IntPtr ob, IntPtr tp)
6666

6767
try
6868
{
69-
result = self.GetMemberGetter(info.DeclaringType)(null);
69+
result = self.GetMemberGetter(info.DeclaringType)(info.DeclaringType);
7070
return Converter.ToPython(result, info.PropertyType);
7171
}
7272
catch (Exception e)
@@ -156,11 +156,11 @@ public static IntPtr tp_descr_get(IntPtr ds, IntPtr ob, IntPtr tp)
156156
return -1;
157157
}
158158

159-
self.GetMemberSetter(info.DeclaringType)(co.inst, newval);
159+
self.GetMemberSetter(co.inst.GetType())(co.inst, newval);
160160
}
161161
else
162162
{
163-
self.GetMemberSetter(info.DeclaringType)(null, newval);
163+
self.GetMemberSetter(info.DeclaringType)(info.DeclaringType, newval);
164164
}
165165
return 0;
166166
}

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL